...
1apiVersion: apiextensions.k8s.io/v1 # Hack because controller-gen complains if we don't have this
2name: "[Stable] ControlPlaneMachineSet (AWS)"
3crd: 0000_10_controlplanemachineset.crd.yaml
4tests:
5 onCreate:
6 - name: Should reject an AWS platform failure domain without any AWS config
7 initial: |
8 apiVersion: machine.openshift.io/v1
9 kind: ControlPlaneMachineSet
10 spec:
11 selector:
12 matchLabels:
13 machine.openshift.io/cluster-api-machine-role: master
14 machine.openshift.io/cluster-api-machine-type: master
15 template:
16 machineType: machines_v1beta1_machine_openshift_io
17 machines_v1beta1_machine_openshift_io:
18 metadata:
19 labels:
20 machine.openshift.io/cluster-api-machine-role: master
21 machine.openshift.io/cluster-api-machine-type: master
22 machine.openshift.io/cluster-api-cluster: cluster
23 spec:
24 providerSpec: {}
25 failureDomains:
26 platform: AWS
27 expectedError: "spec.template.machines_v1beta1_machine_openshift_io.failureDomains: Invalid value: \"object\": aws configuration is required when platform is AWS"
28 - name: Should reject an AWS configured failure domain without a platform type
29 initial: |
30 apiVersion: machine.openshift.io/v1
31 kind: ControlPlaneMachineSet
32 spec:
33 selector:
34 matchLabels:
35 machine.openshift.io/cluster-api-machine-role: master
36 machine.openshift.io/cluster-api-machine-type: master
37 template:
38 machineType: machines_v1beta1_machine_openshift_io
39 machines_v1beta1_machine_openshift_io:
40 metadata:
41 labels:
42 machine.openshift.io/cluster-api-machine-role: master
43 machine.openshift.io/cluster-api-machine-type: master
44 machine.openshift.io/cluster-api-cluster: cluster
45 spec:
46 providerSpec: {}
47 failureDomains:
48 aws:
49 - placement:
50 availabilityZone: foo
51 expectedError: "spec.template.machines_v1beta1_machine_openshift_io.failureDomains.platform: Required value"
52 - name: Should reject an AWS configured failure domain with the wrong platform type
53 initial: |
54 apiVersion: machine.openshift.io/v1
55 kind: ControlPlaneMachineSet
56 spec:
57 selector:
58 matchLabels:
59 machine.openshift.io/cluster-api-machine-role: master
60 machine.openshift.io/cluster-api-machine-type: master
61 template:
62 machineType: machines_v1beta1_machine_openshift_io
63 machines_v1beta1_machine_openshift_io:
64 metadata:
65 labels:
66 machine.openshift.io/cluster-api-machine-role: master
67 machine.openshift.io/cluster-api-machine-type: master
68 machine.openshift.io/cluster-api-cluster: cluster
69 spec:
70 providerSpec: {}
71 failureDomains:
72 platform: BareMetal
73 aws:
74 - placement:
75 availabilityZone: foo
76 expectedError: "spec.template.machines_v1beta1_machine_openshift_io.failureDomains: Invalid value: \"object\": aws configuration is required when platform is AWS, and forbidden otherwise"
77 - name: Should reject an AWS failure domain with the subnet type omitted
78 initial: |
79 apiVersion: machine.openshift.io/v1
80 kind: ControlPlaneMachineSet
81 spec:
82 selector:
83 matchLabels:
84 machine.openshift.io/cluster-api-machine-role: master
85 machine.openshift.io/cluster-api-machine-type: master
86 template:
87 machineType: machines_v1beta1_machine_openshift_io
88 machines_v1beta1_machine_openshift_io:
89 metadata:
90 labels:
91 machine.openshift.io/cluster-api-machine-role: master
92 machine.openshift.io/cluster-api-machine-type: master
93 machine.openshift.io/cluster-api-cluster: cluster
94 spec:
95 providerSpec: {}
96 failureDomains:
97 platform: AWS
98 aws:
99 - subnet: {}
100 expectedError: "spec.template.machines_v1beta1_machine_openshift_io.failureDomains.aws[0].subnet.type: Required value, <nil>: Invalid value: \"null\""
101 - name: Should reject an AWS failure domain with the subnet type ID and no ID provided
102 initial: |
103 apiVersion: machine.openshift.io/v1
104 kind: ControlPlaneMachineSet
105 spec:
106 selector:
107 matchLabels:
108 machine.openshift.io/cluster-api-machine-role: master
109 machine.openshift.io/cluster-api-machine-type: master
110 template:
111 machineType: machines_v1beta1_machine_openshift_io
112 machines_v1beta1_machine_openshift_io:
113 metadata:
114 labels:
115 machine.openshift.io/cluster-api-machine-role: master
116 machine.openshift.io/cluster-api-machine-type: master
117 machine.openshift.io/cluster-api-cluster: cluster
118 spec:
119 providerSpec: {}
120 failureDomains:
121 platform: AWS
122 aws:
123 - subnet:
124 type: ID
125 expectedError: "spec.template.machines_v1beta1_machine_openshift_io.failureDomains.aws[0].subnet: Invalid value: \"object\": id is required when type is ID, and forbidden otherwise"
126 - name: Should accept an AWS failure domain with the subnet type ID and an ID provided
127 initial: |
128 apiVersion: machine.openshift.io/v1
129 kind: ControlPlaneMachineSet
130 spec:
131 selector:
132 matchLabels:
133 machine.openshift.io/cluster-api-machine-role: master
134 machine.openshift.io/cluster-api-machine-type: master
135 template:
136 machineType: machines_v1beta1_machine_openshift_io
137 machines_v1beta1_machine_openshift_io:
138 metadata:
139 labels:
140 machine.openshift.io/cluster-api-machine-role: master
141 machine.openshift.io/cluster-api-machine-type: master
142 machine.openshift.io/cluster-api-cluster: cluster
143 spec:
144 providerSpec: {}
145 failureDomains:
146 platform: AWS
147 aws:
148 - subnet:
149 type: ID
150 id: foo
151 expected: |
152 apiVersion: machine.openshift.io/v1
153 kind: ControlPlaneMachineSet
154 spec:
155 replicas: 3
156 state: Inactive
157 strategy:
158 type: RollingUpdate
159 selector:
160 matchLabels:
161 machine.openshift.io/cluster-api-machine-role: master
162 machine.openshift.io/cluster-api-machine-type: master
163 template:
164 machineType: machines_v1beta1_machine_openshift_io
165 machines_v1beta1_machine_openshift_io:
166 metadata:
167 labels:
168 machine.openshift.io/cluster-api-machine-role: master
169 machine.openshift.io/cluster-api-machine-type: master
170 machine.openshift.io/cluster-api-cluster: cluster
171 spec:
172 providerSpec: {}
173 failureDomains:
174 platform: AWS
175 aws:
176 - subnet:
177 type: ID
178 id: foo
179 - name: Should reject an AWS failure domain with the subnet type ID and an ARN provided
180 initial: |
181 apiVersion: machine.openshift.io/v1
182 kind: ControlPlaneMachineSet
183 spec:
184 selector:
185 matchLabels:
186 machine.openshift.io/cluster-api-machine-role: master
187 machine.openshift.io/cluster-api-machine-type: master
188 template:
189 machineType: machines_v1beta1_machine_openshift_io
190 machines_v1beta1_machine_openshift_io:
191 metadata:
192 labels:
193 machine.openshift.io/cluster-api-machine-role: master
194 machine.openshift.io/cluster-api-machine-type: master
195 machine.openshift.io/cluster-api-cluster: cluster
196 spec:
197 providerSpec: {}
198 failureDomains:
199 platform: AWS
200 aws:
201 - subnet:
202 type: ID
203 id: foo
204 arn: foo
205 expectedError: "spec.template.machines_v1beta1_machine_openshift_io.failureDomains.aws[0].subnet: Invalid value: \"object\": arn is required when type is ARN, and forbidden otherwise"
206 - name: Should reject an AWS failure domain with the subnet type ID and a Filter provided
207 initial: |
208 apiVersion: machine.openshift.io/v1
209 kind: ControlPlaneMachineSet
210 spec:
211 selector:
212 matchLabels:
213 machine.openshift.io/cluster-api-machine-role: master
214 machine.openshift.io/cluster-api-machine-type: master
215 template:
216 machineType: machines_v1beta1_machine_openshift_io
217 machines_v1beta1_machine_openshift_io:
218 metadata:
219 labels:
220 machine.openshift.io/cluster-api-machine-role: master
221 machine.openshift.io/cluster-api-machine-type: master
222 machine.openshift.io/cluster-api-cluster: cluster
223 spec:
224 providerSpec: {}
225 failureDomains:
226 platform: AWS
227 aws:
228 - subnet:
229 type: ID
230 id: foo
231 filters:
232 - name: foo
233 expectedError: "spec.template.machines_v1beta1_machine_openshift_io.failureDomains.aws[0].subnet: Invalid value: \"object\": filters is required when type is Filters, and forbidden otherwise"
234 - name: Should accept an AWS failure domain with the subnet type ARN and an ARN provided
235 initial: |
236 apiVersion: machine.openshift.io/v1
237 kind: ControlPlaneMachineSet
238 spec:
239 selector:
240 matchLabels:
241 machine.openshift.io/cluster-api-machine-role: master
242 machine.openshift.io/cluster-api-machine-type: master
243 template:
244 machineType: machines_v1beta1_machine_openshift_io
245 machines_v1beta1_machine_openshift_io:
246 metadata:
247 labels:
248 machine.openshift.io/cluster-api-machine-role: master
249 machine.openshift.io/cluster-api-machine-type: master
250 machine.openshift.io/cluster-api-cluster: cluster
251 spec:
252 providerSpec: {}
253 failureDomains:
254 platform: AWS
255 aws:
256 - subnet:
257 type: ARN
258 arn: foo
259 expected: |
260 apiVersion: machine.openshift.io/v1
261 kind: ControlPlaneMachineSet
262 spec:
263 replicas: 3
264 state: Inactive
265 strategy:
266 type: RollingUpdate
267 selector:
268 matchLabels:
269 machine.openshift.io/cluster-api-machine-role: master
270 machine.openshift.io/cluster-api-machine-type: master
271 template:
272 machineType: machines_v1beta1_machine_openshift_io
273 machines_v1beta1_machine_openshift_io:
274 metadata:
275 labels:
276 machine.openshift.io/cluster-api-machine-role: master
277 machine.openshift.io/cluster-api-machine-type: master
278 machine.openshift.io/cluster-api-cluster: cluster
279 spec:
280 providerSpec: {}
281 failureDomains:
282 platform: AWS
283 aws:
284 - subnet:
285 type: ARN
286 arn: foo
287 - name: Should accept an AWS failure domain with the subnet type Filters and a Filter provided
288 initial: |
289 apiVersion: machine.openshift.io/v1
290 kind: ControlPlaneMachineSet
291 spec:
292 selector:
293 matchLabels:
294 machine.openshift.io/cluster-api-machine-role: master
295 machine.openshift.io/cluster-api-machine-type: master
296 template:
297 machineType: machines_v1beta1_machine_openshift_io
298 machines_v1beta1_machine_openshift_io:
299 metadata:
300 labels:
301 machine.openshift.io/cluster-api-machine-role: master
302 machine.openshift.io/cluster-api-machine-type: master
303 machine.openshift.io/cluster-api-cluster: cluster
304 spec:
305 providerSpec: {}
306 failureDomains:
307 platform: AWS
308 aws:
309 - subnet:
310 type: Filters
311 filters:
312 - name: foo
313 expected: |
314 apiVersion: machine.openshift.io/v1
315 kind: ControlPlaneMachineSet
316 spec:
317 replicas: 3
318 state: Inactive
319 strategy:
320 type: RollingUpdate
321 selector:
322 matchLabels:
323 machine.openshift.io/cluster-api-machine-role: master
324 machine.openshift.io/cluster-api-machine-type: master
325 template:
326 machineType: machines_v1beta1_machine_openshift_io
327 machines_v1beta1_machine_openshift_io:
328 metadata:
329 labels:
330 machine.openshift.io/cluster-api-machine-role: master
331 machine.openshift.io/cluster-api-machine-type: master
332 machine.openshift.io/cluster-api-cluster: cluster
333 spec:
334 providerSpec: {}
335 failureDomains:
336 platform: AWS
337 aws:
338 - subnet:
339 type: Filters
340 filters:
341 - name: foo
342 - name: Should reject an AWS failure domain with the subnet type ARN and an ID provided
343 initial: |
344 apiVersion: machine.openshift.io/v1
345 kind: ControlPlaneMachineSet
346 spec:
347 selector:
348 matchLabels:
349 machine.openshift.io/cluster-api-machine-role: master
350 machine.openshift.io/cluster-api-machine-type: master
351 template:
352 machineType: machines_v1beta1_machine_openshift_io
353 machines_v1beta1_machine_openshift_io:
354 metadata:
355 labels:
356 machine.openshift.io/cluster-api-machine-role: master
357 machine.openshift.io/cluster-api-machine-type: master
358 machine.openshift.io/cluster-api-cluster: cluster
359 spec:
360 providerSpec: {}
361 failureDomains:
362 platform: AWS
363 aws:
364 - subnet:
365 type: ARN
366 id: foo
367 arn: foo
368 expectedError: "spec.template.machines_v1beta1_machine_openshift_io.failureDomains.aws[0].subnet: Invalid value: \"object\": id is required when type is ID, and forbidden otherwise"
View as plain text