Skip to content

Commit 01b3675

Browse files
Merge pull request #2006 from vr4manta/OCPBUGS-37773
OCPBUGS-37773: Added checks to prevent vCenters from changing after install past 1 vCenter
2 parents 3c0a506 + c85ee33 commit 01b3675

File tree

29 files changed

+843
-33
lines changed

29 files changed

+843
-33
lines changed

config/v1/tests/infrastructures.config.openshift.io/VSphereMultiVCenters.yaml

+325-5
Original file line numberDiff line numberDiff line change
@@ -84,8 +84,53 @@ tests:
8484
- IBMCloud2
8585
port: 443
8686
server: server2.dev.cluster.com
87+
- name: Should not be able to pass more than 3 entries to vcenters in the vsphere platform spec
88+
initial: |
89+
apiVersion: config.openshift.io/v1
90+
kind: Infrastructure
91+
spec:
92+
cloudConfig:
93+
key: config
94+
name: cloud-provider-config
95+
platformSpec:
96+
type: VSphere
97+
vsphere:
98+
failureDomains:
99+
- name: generated-failure-domain
100+
region: generated-region
101+
server: server1.dev.cluster.com
102+
topology:
103+
computeCluster: /IBMCloud/host/vcs-8e-workload
104+
datacenter: IBMCloud
105+
datastore: /IBMCloud/datastore/mdcnc-ds-shared
106+
networks:
107+
- ocp-ci-seg-13
108+
resourcePool: /IBMCloud/host/vcs-8e-workload/Resources
109+
template: /IBMCloud/vm/ngirard-dev-rqh5s-rhcos-generated-region-generated-zone
110+
zone: generated-zone
111+
nodeNetworking:
112+
external: {}
113+
internal: {}
114+
vcenters:
115+
- datacenters:
116+
- IBMCloud
117+
port: 443
118+
server: server1.dev.cluster.com
119+
- datacenters:
120+
- IBMCloud2
121+
port: 443
122+
server: server2.dev.cluster.com
123+
- datacenters:
124+
- IBMCloud2
125+
port: 443
126+
server: server3.dev.cluster.com
127+
- datacenters:
128+
- IBMCloud2
129+
port: 443
130+
server: server4.dev.cluster.com
131+
expectedError: "Too many: 4: must have at most 3 items"
87132
onUpdate:
88-
- name: Should be able to set vCenters to multiple
133+
- name: Should be able to modify vCenters to single from empty spec
89134
initial: |
90135
apiVersion: config.openshift.io/v1
91136
kind: Infrastructure
@@ -96,12 +141,35 @@ tests:
96141
platformSpec:
97142
type: VSphere
98143
vsphere:
144+
updated: |
145+
apiVersion: config.openshift.io/v1
146+
kind: Infrastructure
147+
spec:
148+
cloudConfig:
149+
key: config
150+
name: cloud-provider-config
151+
platformSpec:
152+
type: VSphere
153+
vsphere:
154+
failureDomains:
155+
- name: generated-failure-domain
156+
region: generated-region
157+
server: server1.dev.cluster.com
158+
topology:
159+
computeCluster: /IBMCloud/host/vcs-8e-workload
160+
datacenter: IBMCloud
161+
datastore: /IBMCloud/datastore/mdcnc-ds-shared
162+
networks:
163+
- ocp-ci-seg-13
164+
resourcePool: /IBMCloud/host/vcs-8e-workload/Resources
165+
template: /IBMCloud/vm/ngirard-dev-rqh5s-rhcos-generated-region-generated-zone
166+
zone: generated-zone
99167
vcenters:
100168
- datacenters:
101169
- IBMCloud
102170
port: 443
103171
server: vcs8e-vc.ocp2.dev.cluster.com
104-
updated: |
172+
expected: |
105173
apiVersion: config.openshift.io/v1
106174
kind: Infrastructure
107175
spec:
@@ -111,15 +179,209 @@ tests:
111179
platformSpec:
112180
type: VSphere
113181
vsphere:
182+
failureDomains:
183+
- name: generated-failure-domain
184+
region: generated-region
185+
server: server1.dev.cluster.com
186+
topology:
187+
computeCluster: /IBMCloud/host/vcs-8e-workload
188+
datacenter: IBMCloud
189+
datastore: /IBMCloud/datastore/mdcnc-ds-shared
190+
networks:
191+
- ocp-ci-seg-13
192+
resourcePool: /IBMCloud/host/vcs-8e-workload/Resources
193+
template: /IBMCloud/vm/ngirard-dev-rqh5s-rhcos-generated-region-generated-zone
194+
zone: generated-zone
114195
vcenters:
115196
- datacenters:
116197
- IBMCloud
117198
port: 443
118199
server: vcs8e-vc.ocp2.dev.cluster.com
200+
- name: Should not be able to update vCenters to more than one from empty spec
201+
initial: |
202+
apiVersion: config.openshift.io/v1
203+
kind: Infrastructure
204+
spec:
205+
cloudConfig:
206+
key: config
207+
name: cloud-provider-config
208+
platformSpec:
209+
type: VSphere
210+
updated: |
211+
apiVersion: config.openshift.io/v1
212+
kind: Infrastructure
213+
spec:
214+
cloudConfig:
215+
key: config
216+
name: cloud-provider-config
217+
platformSpec:
218+
type: VSphere
219+
vsphere:
220+
failureDomains:
221+
- name: fd1
222+
region: region
223+
server: server1.dev.cluster.com
224+
topology:
225+
computeCluster: /IBMCloud/host/vcs-8e-workload
226+
datacenter: IBMCloud
227+
datastore: /IBMCloud/datastore/mdcnc-ds-shared
228+
networks:
229+
- ocp-ci-seg-13
230+
resourcePool: /IBMCloud/host/vcs-8e-workload/Resources
231+
template: /IBMCloud/vm/ngirard-dev-rqh5s-rhcos-generated-region-generated-zone
232+
zone: zone
233+
- name: fd2
234+
region: region-2
235+
server: server2.dev.cluster.com
236+
topology:
237+
computeCluster: /IBMCloud2/host/vcs-8e-workload
238+
datacenter: IBMCloud2
239+
datastore: /IBMCloud2/datastore/mdcnc-ds-shared
240+
networks:
241+
- ocp-ci-seg-13
242+
resourcePool: /IBMCloud2/host/vcs-8e-workload/Resources
243+
template: /IBMCloud2/vm/ngirard-dev-rqh5s-rhcos-generated-region-generated-zone
244+
zone: zone-2
245+
vcenters:
246+
- datacenters:
247+
- IBMCloud
248+
port: 443
249+
server: server1.dev.cluster.com
119250
- datacenters:
120251
- IBMCloud
121252
port: 443
122-
server: v8c-2-vcenter.ocp2.dev.cluster.com
253+
server: server2.dev.cluster.com
254+
expectedError: "vcenters can have at most 1 item when configured post-install"
255+
- name: Should not be able to update vCenters to more than one from partial spec that is missing vcenters
256+
initial: |
257+
apiVersion: config.openshift.io/v1
258+
kind: Infrastructure
259+
spec:
260+
cloudConfig:
261+
key: config
262+
name: cloud-provider-config
263+
platformSpec:
264+
type: VSphere
265+
vsphere:
266+
apiVIPs:
267+
- 10.38.202.2
268+
ingressVIPs:
269+
- 10.38.202.3
270+
updated: |
271+
apiVersion: config.openshift.io/v1
272+
kind: Infrastructure
273+
spec:
274+
cloudConfig:
275+
key: config
276+
name: cloud-provider-config
277+
platformSpec:
278+
type: VSphere
279+
vsphere:
280+
failureDomains:
281+
- name: fd1
282+
region: region
283+
server: server1.dev.cluster.com
284+
topology:
285+
computeCluster: /IBMCloud/host/vcs-8e-workload
286+
datacenter: IBMCloud
287+
datastore: /IBMCloud/datastore/mdcnc-ds-shared
288+
networks:
289+
- ocp-ci-seg-13
290+
resourcePool: /IBMCloud/host/vcs-8e-workload/Resources
291+
template: /IBMCloud/vm/ngirard-dev-rqh5s-rhcos-generated-region-generated-zone
292+
zone: zone
293+
- name: fd2
294+
region: region-2
295+
server: server2.dev.cluster.com
296+
topology:
297+
computeCluster: /IBMCloud2/host/vcs-8e-workload
298+
datacenter: IBMCloud2
299+
datastore: /IBMCloud2/datastore/mdcnc-ds-shared
300+
networks:
301+
- ocp-ci-seg-13
302+
resourcePool: /IBMCloud2/host/vcs-8e-workload/Resources
303+
template: /IBMCloud2/vm/ngirard-dev-rqh5s-rhcos-generated-region-generated-zone
304+
zone: zone-2
305+
vcenters:
306+
- datacenters:
307+
- IBMCloud
308+
port: 443
309+
server: server1.dev.cluster.com
310+
- datacenters:
311+
- IBMCloud
312+
port: 443
313+
server: server2.dev.cluster.com
314+
expectedError: "vcenters can have at most 1 item when configured post-install"
315+
- name: Should be able to update vCenter config
316+
initial: |
317+
apiVersion: config.openshift.io/v1
318+
kind: Infrastructure
319+
spec:
320+
cloudConfig:
321+
key: config
322+
name: cloud-provider-config
323+
platformSpec:
324+
type: VSphere
325+
vsphere:
326+
failureDomains:
327+
- name: fd1
328+
region: generated-region
329+
server: server1.dev.cluster.com
330+
topology:
331+
computeCluster: /IBMCloud/host/vcs-8e-workload
332+
datacenter: IBMCloud
333+
datastore: /IBMCloud/datastore/mdcnc-ds-shared
334+
networks:
335+
- ocp-ci-seg-13
336+
resourcePool: /IBMCloud/host/vcs-8e-workload/Resources
337+
template: /IBMCloud/vm/ngirard-dev-rqh5s-rhcos-generated-region-generated-zone
338+
zone: generated-zone
339+
vcenters:
340+
- datacenters:
341+
- IBMCloud
342+
port: 443
343+
server: server1.dev.cluster.com
344+
updated: |
345+
apiVersion: config.openshift.io/v1
346+
kind: Infrastructure
347+
spec:
348+
cloudConfig:
349+
key: config
350+
name: cloud-provider-config
351+
platformSpec:
352+
type: VSphere
353+
vsphere:
354+
failureDomains:
355+
- name: fd1
356+
region: generated-region
357+
server: server1.dev.cluster.com
358+
topology:
359+
computeCluster: /IBMCloud/host/vcs-8e-workload
360+
datacenter: IBMCloud
361+
datastore: /IBMCloud/datastore/mdcnc-ds-shared
362+
networks:
363+
- ocp-ci-seg-13
364+
resourcePool: /IBMCloud/host/vcs-8e-workload/Resources
365+
template: /IBMCloud/vm/ngirard-dev-rqh5s-rhcos-generated-region-generated-zone
366+
zone: generated-zone
367+
- name: fd2
368+
region: generated-region
369+
server: server1.dev.cluster.com
370+
topology:
371+
computeCluster: /IBMCloud2/host/vcs-8e-workload
372+
datacenter: IBMCloud2
373+
datastore: /IBMCloud2/datastore/mdcnc-ds-shared
374+
networks:
375+
- ocp-ci-seg-13
376+
resourcePool: /IBMCloud2/host/vcs-8e-workload/Resources
377+
template: /IBMCloud2/vm/ngirard-dev-rqh5s-rhcos-generated-region-generated-zone
378+
zone: generated-zone
379+
vcenters:
380+
- datacenters:
381+
- IBMCloud
382+
- IBMCloud2
383+
port: 443
384+
server: server1.dev.cluster.com
123385
expected: |
124386
apiVersion: config.openshift.io/v1
125387
kind: Infrastructure
@@ -130,12 +392,70 @@ tests:
130392
platformSpec:
131393
type: VSphere
132394
vsphere:
395+
failureDomains:
396+
- name: fd1
397+
region: generated-region
398+
server: server1.dev.cluster.com
399+
topology:
400+
computeCluster: /IBMCloud/host/vcs-8e-workload
401+
datacenter: IBMCloud
402+
datastore: /IBMCloud/datastore/mdcnc-ds-shared
403+
networks:
404+
- ocp-ci-seg-13
405+
resourcePool: /IBMCloud/host/vcs-8e-workload/Resources
406+
template: /IBMCloud/vm/ngirard-dev-rqh5s-rhcos-generated-region-generated-zone
407+
zone: generated-zone
408+
- name: fd2
409+
region: generated-region
410+
server: server1.dev.cluster.com
411+
topology:
412+
computeCluster: /IBMCloud2/host/vcs-8e-workload
413+
datacenter: IBMCloud2
414+
datastore: /IBMCloud2/datastore/mdcnc-ds-shared
415+
networks:
416+
- ocp-ci-seg-13
417+
resourcePool: /IBMCloud2/host/vcs-8e-workload/Resources
418+
template: /IBMCloud2/vm/ngirard-dev-rqh5s-rhcos-generated-region-generated-zone
419+
zone: generated-zone
133420
vcenters:
134421
- datacenters:
135422
- IBMCloud
423+
- IBMCloud2
136424
port: 443
137-
server: vcs8e-vc.ocp2.dev.cluster.com
425+
server: server1.dev.cluster.com
426+
- name: Should not be able to set vCenters to multiple from single vcenter
427+
initial: |
428+
apiVersion: config.openshift.io/v1
429+
kind: Infrastructure
430+
spec:
431+
cloudConfig:
432+
key: config
433+
name: cloud-provider-config
434+
platformSpec:
435+
type: VSphere
436+
vsphere:
437+
vcenters:
438+
- datacenters:
439+
- IBMCloud
440+
port: 443
441+
server: server1.dev.cluster.com
442+
updated: |
443+
apiVersion: config.openshift.io/v1
444+
kind: Infrastructure
445+
spec:
446+
cloudConfig:
447+
key: config
448+
name: cloud-provider-config
449+
platformSpec:
450+
type: VSphere
451+
vsphere:
452+
vcenters:
453+
- datacenters:
454+
- IBMCloud
455+
port: 443
456+
server: server1.dev.cluster.com
138457
- datacenters:
139458
- IBMCloud
140459
port: 443
141-
server: v8c-2-vcenter.ocp2.dev.cluster.com
460+
server: server2.dev.cluster.com
461+
expectedError: "vcenters cannot be added or removed once set"

0 commit comments

Comments
 (0)