@@ -1671,6 +1671,204 @@ tests:
16711671 datacenters:
16721672 - datacenter1
16731673 failureDomains: []
1674+ - name : Should allow updating other fields when a previously stored failure domain does not match any vCenter (ratcheting)
1675+ initialCRDPatches :
1676+ - op : remove
1677+ path : /spec/versions/0/schema/openAPIV3Schema/properties/spec/properties/platformSpec/properties/vsphere/x-kubernetes-validations/0
1678+ initial : |
1679+ apiVersion: config.openshift.io/v1
1680+ kind: Infrastructure
1681+ spec:
1682+ platformSpec:
1683+ type: VSphere
1684+ vsphere:
1685+ vcenters:
1686+ - server: vcenter1.example.com
1687+ datacenters:
1688+ - datacenter1
1689+ failureDomains:
1690+ - name: fd1
1691+ region: region1
1692+ zone: zone1
1693+ server: vcenter-nonexistent.example.com
1694+ topology:
1695+ datacenter: datacenter1
1696+ computeCluster: /datacenter1/host/cluster1
1697+ networks:
1698+ - /datacenter1/network/VM Network
1699+ datastore: /datacenter1/datastore/datastore1
1700+ updated : |
1701+ apiVersion: config.openshift.io/v1
1702+ kind: Infrastructure
1703+ spec:
1704+ cloudConfig:
1705+ key: config
1706+ name: cloud-provider-config
1707+ platformSpec:
1708+ type: VSphere
1709+ vsphere:
1710+ vcenters:
1711+ - server: vcenter1.example.com
1712+ datacenters:
1713+ - datacenter1
1714+ failureDomains:
1715+ - name: fd1
1716+ region: region1
1717+ zone: zone1
1718+ server: vcenter-nonexistent.example.com
1719+ topology:
1720+ datacenter: datacenter1
1721+ computeCluster: /datacenter1/host/cluster1
1722+ networks:
1723+ - /datacenter1/network/VM Network
1724+ datastore: /datacenter1/datastore/datastore1
1725+ expected : |
1726+ apiVersion: config.openshift.io/v1
1727+ kind: Infrastructure
1728+ spec:
1729+ cloudConfig:
1730+ key: config
1731+ name: cloud-provider-config
1732+ platformSpec:
1733+ type: VSphere
1734+ vsphere:
1735+ vcenters:
1736+ - server: vcenter1.example.com
1737+ datacenters:
1738+ - datacenter1
1739+ failureDomains:
1740+ - name: fd1
1741+ region: region1
1742+ zone: zone1
1743+ server: vcenter-nonexistent.example.com
1744+ topology:
1745+ datacenter: datacenter1
1746+ computeCluster: /datacenter1/host/cluster1
1747+ networks:
1748+ - /datacenter1/network/VM Network
1749+ datastore: /datacenter1/datastore/datastore1
1750+
1751+ - name : Should not allow changing a previously stored non-matching failure domain server to another non-matching server (ratcheting)
1752+ initialCRDPatches :
1753+ - op : remove
1754+ path : /spec/versions/0/schema/openAPIV3Schema/properties/spec/properties/platformSpec/properties/vsphere/x-kubernetes-validations/0
1755+ initial : |
1756+ apiVersion: config.openshift.io/v1
1757+ kind: Infrastructure
1758+ spec:
1759+ platformSpec:
1760+ type: VSphere
1761+ vsphere:
1762+ vcenters:
1763+ - server: vcenter1.example.com
1764+ datacenters:
1765+ - datacenter1
1766+ failureDomains:
1767+ - name: fd1
1768+ region: region1
1769+ zone: zone1
1770+ server: vcenter-nonexistent.example.com
1771+ topology:
1772+ datacenter: datacenter1
1773+ computeCluster: /datacenter1/host/cluster1
1774+ networks:
1775+ - /datacenter1/network/VM Network
1776+ datastore: /datacenter1/datastore/datastore1
1777+ updated : |
1778+ apiVersion: config.openshift.io/v1
1779+ kind: Infrastructure
1780+ spec:
1781+ platformSpec:
1782+ type: VSphere
1783+ vsphere:
1784+ vcenters:
1785+ - server: vcenter1.example.com
1786+ datacenters:
1787+ - datacenter1
1788+ failureDomains:
1789+ - name: fd1
1790+ region: region1
1791+ zone: zone1
1792+ server: vcenter-other.example.com
1793+ topology:
1794+ datacenter: datacenter1
1795+ computeCluster: /datacenter1/host/cluster1
1796+ networks:
1797+ - /datacenter1/network/VM Network
1798+ datastore: /datacenter1/datastore/datastore1
1799+ expectedError : " all failure domains must have a corresponding vCenter entry"
1800+
1801+ - name : Should allow fixing a previously stored non-matching failure domain server to a valid matching server (ratcheting)
1802+ initialCRDPatches :
1803+ - op : remove
1804+ path : /spec/versions/0/schema/openAPIV3Schema/properties/spec/properties/platformSpec/properties/vsphere/x-kubernetes-validations/0
1805+ initial : |
1806+ apiVersion: config.openshift.io/v1
1807+ kind: Infrastructure
1808+ spec:
1809+ platformSpec:
1810+ type: VSphere
1811+ vsphere:
1812+ vcenters:
1813+ - server: vcenter1.example.com
1814+ datacenters:
1815+ - datacenter1
1816+ failureDomains:
1817+ - name: fd1
1818+ region: region1
1819+ zone: zone1
1820+ server: vcenter-nonexistent.example.com
1821+ topology:
1822+ datacenter: datacenter1
1823+ computeCluster: /datacenter1/host/cluster1
1824+ networks:
1825+ - /datacenter1/network/VM Network
1826+ datastore: /datacenter1/datastore/datastore1
1827+ updated : |
1828+ apiVersion: config.openshift.io/v1
1829+ kind: Infrastructure
1830+ spec:
1831+ platformSpec:
1832+ type: VSphere
1833+ vsphere:
1834+ vcenters:
1835+ - server: vcenter1.example.com
1836+ datacenters:
1837+ - datacenter1
1838+ failureDomains:
1839+ - name: fd1
1840+ region: region1
1841+ zone: zone1
1842+ server: vcenter1.example.com
1843+ topology:
1844+ datacenter: datacenter1
1845+ computeCluster: /datacenter1/host/cluster1
1846+ networks:
1847+ - /datacenter1/network/VM Network
1848+ datastore: /datacenter1/datastore/datastore1
1849+ expected : |
1850+ apiVersion: config.openshift.io/v1
1851+ kind: Infrastructure
1852+ spec:
1853+ platformSpec:
1854+ type: VSphere
1855+ vsphere:
1856+ vcenters:
1857+ - server: vcenter1.example.com
1858+ datacenters:
1859+ - datacenter1
1860+ failureDomains:
1861+ - name: fd1
1862+ region: region1
1863+ zone: zone1
1864+ server: vcenter1.example.com
1865+ topology:
1866+ datacenter: datacenter1
1867+ computeCluster: /datacenter1/host/cluster1
1868+ networks:
1869+ - /datacenter1/network/VM Network
1870+ datastore: /datacenter1/datastore/datastore1
1871+
16741872 - name : Should not be able to remove a vCenter that is in use by a failure domain
16751873 initial : |
16761874 apiVersion: config.openshift.io/v1
0 commit comments