Skip to content

Commit

Permalink
Added CEL to prevent vCenters from changing to unsupported config aft…
Browse files Browse the repository at this point in the history
…er install.
  • Loading branch information
vr4manta authored and jcpowermac committed Aug 26, 2024
1 parent 03df6b6 commit f1bb716
Show file tree
Hide file tree
Showing 29 changed files with 783 additions and 33 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -92,8 +92,53 @@ tests:
- IBMCloud2
port: 443
server: server2.dev.cluster.com
- name: Should not be able to pass more than 3 entries to vcenters in the vsphere platform spec
initial: |
apiVersion: config.openshift.io/v1
kind: Infrastructure
spec:
cloudConfig:
key: config
name: cloud-provider-config
platformSpec:
type: VSphere
vsphere:
failureDomains:
- name: generated-failure-domain
region: generated-region
server: server1.dev.cluster.com
topology:
computeCluster: /IBMCloud/host/vcs-8e-workload
datacenter: IBMCloud
datastore: /IBMCloud/datastore/mdcnc-ds-shared
networks:
- ocp-ci-seg-13
resourcePool: /IBMCloud/host/vcs-8e-workload/Resources
template: /IBMCloud/vm/ngirard-dev-rqh5s-rhcos-generated-region-generated-zone
zone: generated-zone
nodeNetworking:
external: {}
internal: {}
vcenters:
- datacenters:
- IBMCloud
port: 443
server: server1.dev.cluster.com
- datacenters:
- IBMCloud2
port: 443
server: server2.dev.cluster.com
- datacenters:
- IBMCloud2
port: 443
server: server3.dev.cluster.com
- datacenters:
- IBMCloud2
port: 443
server: server4.dev.cluster.com
expectedError: "Too many: 4: must have at most 3 items"
onUpdate:
- name: Should be able to set vCenters to multiple
- name: Should be able to modify vCenters to single from empty spec
initial: |
apiVersion: config.openshift.io/v1
kind: Infrastructure
Expand All @@ -104,12 +149,35 @@ tests:
platformSpec:
type: VSphere
vsphere:
updated: |
apiVersion: config.openshift.io/v1
kind: Infrastructure
spec:
cloudConfig:
key: config
name: cloud-provider-config
platformSpec:
type: VSphere
vsphere:
failureDomains:
- name: generated-failure-domain
region: generated-region
server: server1.dev.cluster.com
topology:
computeCluster: /IBMCloud/host/vcs-8e-workload
datacenter: IBMCloud
datastore: /IBMCloud/datastore/mdcnc-ds-shared
networks:
- ocp-ci-seg-13
resourcePool: /IBMCloud/host/vcs-8e-workload/Resources
template: /IBMCloud/vm/ngirard-dev-rqh5s-rhcos-generated-region-generated-zone
zone: generated-zone
vcenters:
- datacenters:
- IBMCloud
port: 443
server: vcs8e-vc.ocp2.dev.cluster.com
updated: |
expected: |
apiVersion: config.openshift.io/v1
kind: Infrastructure
spec:
Expand All @@ -119,15 +187,209 @@ tests:
platformSpec:
type: VSphere
vsphere:
failureDomains:
- name: generated-failure-domain
region: generated-region
server: server1.dev.cluster.com
topology:
computeCluster: /IBMCloud/host/vcs-8e-workload
datacenter: IBMCloud
datastore: /IBMCloud/datastore/mdcnc-ds-shared
networks:
- ocp-ci-seg-13
resourcePool: /IBMCloud/host/vcs-8e-workload/Resources
template: /IBMCloud/vm/ngirard-dev-rqh5s-rhcos-generated-region-generated-zone
zone: generated-zone
vcenters:
- datacenters:
- IBMCloud
port: 443
server: vcs8e-vc.ocp2.dev.cluster.com
- name: Should not be able to update vCenters to more than one from empty spec
initial: |
apiVersion: config.openshift.io/v1
kind: Infrastructure
spec:
cloudConfig:
key: config
name: cloud-provider-config
platformSpec:
type: VSphere
updated: |
apiVersion: config.openshift.io/v1
kind: Infrastructure
spec:
cloudConfig:
key: config
name: cloud-provider-config
platformSpec:
type: VSphere
vsphere:
failureDomains:
- name: fd1
region: region
server: server1.dev.cluster.com
topology:
computeCluster: /IBMCloud/host/vcs-8e-workload
datacenter: IBMCloud
datastore: /IBMCloud/datastore/mdcnc-ds-shared
networks:
- ocp-ci-seg-13
resourcePool: /IBMCloud/host/vcs-8e-workload/Resources
template: /IBMCloud/vm/ngirard-dev-rqh5s-rhcos-generated-region-generated-zone
zone: zone
- name: fd2
region: region-2
server: server2.dev.cluster.com
topology:
computeCluster: /IBMCloud2/host/vcs-8e-workload
datacenter: IBMCloud2
datastore: /IBMCloud2/datastore/mdcnc-ds-shared
networks:
- ocp-ci-seg-13
resourcePool: /IBMCloud2/host/vcs-8e-workload/Resources
template: /IBMCloud2/vm/ngirard-dev-rqh5s-rhcos-generated-region-generated-zone
zone: zone-2
vcenters:
- datacenters:
- IBMCloud
port: 443
server: server1.dev.cluster.com
- datacenters:
- IBMCloud
port: 443
server: v8c-2-vcenter.ocp2.dev.cluster.com
server: server2.dev.cluster.com
expectedError: "vsphere can only have 1 vCenter when performing day 2 config"
- name: Should not be able to update vCenters to more than one from partial spec that is missing vcenters
initial: |
apiVersion: config.openshift.io/v1
kind: Infrastructure
spec:
cloudConfig:
key: config
name: cloud-provider-config
platformSpec:
type: VSphere
vsphere:
apiVIPs:
- 10.38.202.2
ingressVIPs:
- 10.38.202.3
updated: |
apiVersion: config.openshift.io/v1
kind: Infrastructure
spec:
cloudConfig:
key: config
name: cloud-provider-config
platformSpec:
type: VSphere
vsphere:
failureDomains:
- name: fd1
region: region
server: server1.dev.cluster.com
topology:
computeCluster: /IBMCloud/host/vcs-8e-workload
datacenter: IBMCloud
datastore: /IBMCloud/datastore/mdcnc-ds-shared
networks:
- ocp-ci-seg-13
resourcePool: /IBMCloud/host/vcs-8e-workload/Resources
template: /IBMCloud/vm/ngirard-dev-rqh5s-rhcos-generated-region-generated-zone
zone: zone
- name: fd2
region: region-2
server: server2.dev.cluster.com
topology:
computeCluster: /IBMCloud2/host/vcs-8e-workload
datacenter: IBMCloud2
datastore: /IBMCloud2/datastore/mdcnc-ds-shared
networks:
- ocp-ci-seg-13
resourcePool: /IBMCloud2/host/vcs-8e-workload/Resources
template: /IBMCloud2/vm/ngirard-dev-rqh5s-rhcos-generated-region-generated-zone
zone: zone-2
vcenters:
- datacenters:
- IBMCloud
port: 443
server: server1.dev.cluster.com
- datacenters:
- IBMCloud
port: 443
server: server2.dev.cluster.com
expectedError: "vcenters count can only be one when performing day 2 config"
- name: Should be able to update vCenter config
initial: |
apiVersion: config.openshift.io/v1
kind: Infrastructure
spec:
cloudConfig:
key: config
name: cloud-provider-config
platformSpec:
type: VSphere
vsphere:
failureDomains:
- name: fd1
region: generated-region
server: server1.dev.cluster.com
topology:
computeCluster: /IBMCloud/host/vcs-8e-workload
datacenter: IBMCloud
datastore: /IBMCloud/datastore/mdcnc-ds-shared
networks:
- ocp-ci-seg-13
resourcePool: /IBMCloud/host/vcs-8e-workload/Resources
template: /IBMCloud/vm/ngirard-dev-rqh5s-rhcos-generated-region-generated-zone
zone: generated-zone
vcenters:
- datacenters:
- IBMCloud
port: 443
server: server1.dev.cluster.com
updated: |
apiVersion: config.openshift.io/v1
kind: Infrastructure
spec:
cloudConfig:
key: config
name: cloud-provider-config
platformSpec:
type: VSphere
vsphere:
failureDomains:
- name: fd1
region: generated-region
server: server1.dev.cluster.com
topology:
computeCluster: /IBMCloud/host/vcs-8e-workload
datacenter: IBMCloud
datastore: /IBMCloud/datastore/mdcnc-ds-shared
networks:
- ocp-ci-seg-13
resourcePool: /IBMCloud/host/vcs-8e-workload/Resources
template: /IBMCloud/vm/ngirard-dev-rqh5s-rhcos-generated-region-generated-zone
zone: generated-zone
- name: fd2
region: generated-region
server: server1.dev.cluster.com
topology:
computeCluster: /IBMCloud2/host/vcs-8e-workload
datacenter: IBMCloud2
datastore: /IBMCloud2/datastore/mdcnc-ds-shared
networks:
- ocp-ci-seg-13
resourcePool: /IBMCloud2/host/vcs-8e-workload/Resources
template: /IBMCloud2/vm/ngirard-dev-rqh5s-rhcos-generated-region-generated-zone
zone: generated-zone
vcenters:
- datacenters:
- IBMCloud
- IBMCloud2
port: 443
server: server1.dev.cluster.com
expected: |
apiVersion: config.openshift.io/v1
kind: Infrastructure
Expand All @@ -138,12 +400,70 @@ tests:
platformSpec:
type: VSphere
vsphere:
failureDomains:
- name: fd1
region: generated-region
server: server1.dev.cluster.com
topology:
computeCluster: /IBMCloud/host/vcs-8e-workload
datacenter: IBMCloud
datastore: /IBMCloud/datastore/mdcnc-ds-shared
networks:
- ocp-ci-seg-13
resourcePool: /IBMCloud/host/vcs-8e-workload/Resources
template: /IBMCloud/vm/ngirard-dev-rqh5s-rhcos-generated-region-generated-zone
zone: generated-zone
- name: fd2
region: generated-region
server: server1.dev.cluster.com
topology:
computeCluster: /IBMCloud2/host/vcs-8e-workload
datacenter: IBMCloud2
datastore: /IBMCloud2/datastore/mdcnc-ds-shared
networks:
- ocp-ci-seg-13
resourcePool: /IBMCloud2/host/vcs-8e-workload/Resources
template: /IBMCloud2/vm/ngirard-dev-rqh5s-rhcos-generated-region-generated-zone
zone: generated-zone
vcenters:
- datacenters:
- IBMCloud
- IBMCloud2
port: 443
server: vcs8e-vc.ocp2.dev.cluster.com
server: server1.dev.cluster.com
- name: Should not be able to set vCenters to multiple from single vcenter
initial: |
apiVersion: config.openshift.io/v1
kind: Infrastructure
spec:
cloudConfig:
key: config
name: cloud-provider-config
platformSpec:
type: VSphere
vsphere:
vcenters:
- datacenters:
- IBMCloud
port: 443
server: server1.dev.cluster.com
updated: |
apiVersion: config.openshift.io/v1
kind: Infrastructure
spec:
cloudConfig:
key: config
name: cloud-provider-config
platformSpec:
type: VSphere
vsphere:
vcenters:
- datacenters:
- IBMCloud
port: 443
server: server1.dev.cluster.com
- datacenters:
- IBMCloud
port: 443
server: v8c-2-vcenter.ocp2.dev.cluster.com
server: server2.dev.cluster.com
expectedError: "vcenters cannot be added or removed once set"
Loading

0 comments on commit f1bb716

Please sign in to comment.