8
8
apiVersion: machineconfiguration.openshift.io/v1
9
9
kind: MachineOSConfig
10
10
metadata:
11
- name: foobar
11
+ name: worker
12
12
spec:
13
13
machineConfigPool:
14
14
name: worker
23
23
apiVersion: machineconfiguration.openshift.io/v1
24
24
kind: MachineOSConfig
25
25
metadata:
26
- name: foobar
26
+ name: worker
27
27
spec:
28
28
machineConfigPool:
29
29
name: worker
39
39
apiVersion: machineconfiguration.openshift.io/v1
40
40
kind: MachineOSConfig
41
41
metadata:
42
- name: foobar
42
+ name: worker
43
43
spec:
44
44
machineConfigPool:
45
45
name: worker
54
54
apiVersion: machineconfiguration.openshift.io/v1
55
55
kind: MachineOSConfig
56
56
metadata:
57
- name: foobar
57
+ name: worker
58
58
spec:
59
59
machineConfigPool:
60
60
name: worker
70
70
apiVersion: machineconfiguration.openshift.io/v1
71
71
kind: MachineOSConfig
72
72
metadata:
73
- name: foobar
73
+ name: worker
74
74
spec:
75
75
machineConfigPool:
76
76
name: worker
87
87
apiVersion: machineconfiguration.openshift.io/v1
88
88
kind: MachineOSConfig
89
89
metadata:
90
- name: foobar
90
+ name: worker
91
91
spec:
92
92
machineConfigPool:
93
93
name: worker
@@ -100,12 +100,184 @@ tests:
100
100
apiVersion: machineconfiguration.openshift.io/v1
101
101
kind: MachineOSConfig
102
102
metadata:
103
- name: foobar
103
+ name: worker
104
104
spec:
105
105
machineConfigPool:
106
106
name: worker
107
- imageBuilder:
107
+ imageBuilder:
108
+ imageBuilderType: Job
109
+ renderedImagePushSecret:
110
+ name: foo
111
+ renderedImagePushSpec: quay.io/mco/renderedImg:latest
112
+ - name : Should succeed when MachineOSConfig name matches MachineConfigPool name
113
+ initial : |
114
+ apiVersion: machineconfiguration.openshift.io/v1
115
+ kind: MachineOSConfig
116
+ metadata:
117
+ name: worker
118
+ spec:
119
+ machineConfigPool:
120
+ name: worker
121
+ imageBuilder:
122
+ imageBuilderType: Job
123
+ renderedImagePushSecret:
124
+ name: foo
125
+ renderedImagePushSpec: quay.io/mco/renderedImg:latest
126
+ expected : |
127
+ apiVersion: machineconfiguration.openshift.io/v1
128
+ kind: MachineOSConfig
129
+ metadata:
130
+ name: worker
131
+ spec:
132
+ machineConfigPool:
133
+ name: worker
134
+ imageBuilder:
135
+ imageBuilderType: Job
136
+ renderedImagePushSecret:
137
+ name: foo
138
+ renderedImagePushSpec: quay.io/mco/renderedImg:latest
139
+ - name : Should fail when MachineOSConfig name does not match MachineConfigPool name
140
+ initial : |
141
+ apiVersion: machineconfiguration.openshift.io/v1
142
+ kind: MachineOSConfig
143
+ metadata:
144
+ name: different-name
145
+ spec:
146
+ machineConfigPool:
147
+ name: worker
148
+ imageBuilder:
149
+ imageBuilderType: Job
150
+ renderedImagePushSecret:
151
+ name: foo
152
+ renderedImagePushSpec: quay.io/mco/renderedImg:latest
153
+ expectedError : " MachineOSConfig name must match the referenced MachineConfigPool name; can only have one MachineOSConfig per MachineConfigPool"
154
+ onUpdate :
155
+ - name : Should allow changing other fields when a persisted value is no longer valid (mismatched names)
156
+ initialCRDPatches :
157
+ - op : remove
158
+ path : /spec/versions/0/schema/openAPIV3Schema/x-kubernetes-validations # Remove the name matching validation
159
+ initial : |
160
+ apiVersion: machineconfiguration.openshift.io/v1
161
+ kind: MachineOSConfig
162
+ metadata:
163
+ name: different-name
164
+ spec:
165
+ machineConfigPool:
166
+ name: worker
167
+ imageBuilder:
168
+ imageBuilderType: Job
169
+ renderedImagePushSecret:
170
+ name: foo
171
+ renderedImagePushSpec: quay.io/mco/renderedImg:latest
172
+ updated : |
173
+ apiVersion: machineconfiguration.openshift.io/v1
174
+ kind: MachineOSConfig
175
+ metadata:
176
+ name: different-name
177
+ spec:
178
+ machineConfigPool:
179
+ name: worker
180
+ imageBuilder:
181
+ imageBuilderType: Job
182
+ renderedImagePushSecret:
183
+ name: foo
184
+ renderedImagePushSpec: quay.io/mco/renderedImg:v2.0
185
+ containerFile:
186
+ - containerfileArch: AMD64
187
+ content: |
188
+ FROM configs AS final
189
+ RUN rpm-ostree install tree && \
190
+ ostree container commit
191
+ expected : |
192
+ apiVersion: machineconfiguration.openshift.io/v1
193
+ kind: MachineOSConfig
194
+ metadata:
195
+ name: different-name
196
+ spec:
197
+ machineConfigPool:
198
+ name: worker
199
+ imageBuilder:
200
+ imageBuilderType: Job
201
+ renderedImagePushSecret:
202
+ name: foo
203
+ renderedImagePushSpec: quay.io/mco/renderedImg:v2.0
204
+ containerFile:
205
+ - containerfileArch: AMD64
206
+ content: |
207
+ FROM configs AS final
208
+ RUN rpm-ostree install tree && \
209
+ ostree container commit
210
+ - name : Should allow updating a persisted value that is no longer valid to a valid value (fix mismatched names)
211
+ initialCRDPatches :
212
+ - op : remove
213
+ path : /spec/versions/0/schema/openAPIV3Schema/x-kubernetes-validations # Remove the name matching validation
214
+ initial : |
215
+ apiVersion: machineconfiguration.openshift.io/v1
216
+ kind: MachineOSConfig
217
+ metadata:
218
+ name: worker
219
+ spec:
220
+ machineConfigPool:
221
+ name: different-pool
222
+ imageBuilder:
223
+ imageBuilderType: Job
224
+ renderedImagePushSecret:
225
+ name: foo
226
+ renderedImagePushSpec: quay.io/mco/renderedImg:latest
227
+ updated : |
228
+ apiVersion: machineconfiguration.openshift.io/v1
229
+ kind: MachineOSConfig
230
+ metadata:
231
+ name: worker
232
+ spec:
233
+ machineConfigPool:
234
+ name: worker
235
+ imageBuilder:
236
+ imageBuilderType: Job
237
+ renderedImagePushSecret:
238
+ name: foo
239
+ renderedImagePushSpec: quay.io/mco/renderedImg:latest
240
+ expected : |
241
+ apiVersion: machineconfiguration.openshift.io/v1
242
+ kind: MachineOSConfig
243
+ metadata:
244
+ name: worker
245
+ spec:
246
+ machineConfigPool:
247
+ name: worker
248
+ imageBuilder:
249
+ imageBuilderType: Job
250
+ renderedImagePushSecret:
251
+ name: foo
252
+ renderedImagePushSpec: quay.io/mco/renderedImg:latest
253
+ - name : Should not allow updating a persisted value that is no longer valid to a still invalid value (different mismatched MCP names)
254
+ initialCRDPatches :
255
+ - op : remove
256
+ path : /spec/versions/0/schema/openAPIV3Schema/x-kubernetes-validations # Remove the name matching validation
257
+ initial : |
258
+ apiVersion: machineconfiguration.openshift.io/v1
259
+ kind: MachineOSConfig
260
+ metadata:
261
+ name: different-name
262
+ spec:
263
+ machineConfigPool:
264
+ name: worker
265
+ imageBuilder:
266
+ imageBuilderType: Job
267
+ renderedImagePushSecret:
268
+ name: foo
269
+ renderedImagePushSpec: quay.io/mco/renderedImg:latest
270
+ updated : |
271
+ apiVersion: machineconfiguration.openshift.io/v1
272
+ kind: MachineOSConfig
273
+ metadata:
274
+ name: different-name
275
+ spec:
276
+ machineConfigPool:
277
+ name: worker-different
278
+ imageBuilder:
108
279
imageBuilderType: Job
109
280
renderedImagePushSecret:
110
281
name: foo
111
282
renderedImagePushSpec: quay.io/mco/renderedImg:latest
283
+ expectedError : " MachineOSConfig name must match the referenced MachineConfigPool name; can only have one MachineOSConfig per MachineConfigPool"
0 commit comments