3333 capoRelease012 string
3434 capoRelease013 string
3535 capoRelease014 string
36+ capiRelease110 string
3637 capiRelease112 string
3738)
3839
@@ -43,9 +44,9 @@ var _ = Describe("When testing clusterctl upgrades for CAPO (v0.12=>current) and
4344 Expect (err ).ToNot (HaveOccurred (), "failed to get stable release of CAPO" )
4445 capoRelease012 = "v" + capoRelease012
4546 // Note: This gives the version without the 'v' prefix, so we need to add it below.
46- capiRelease112 , err = capi_e2e .GetStableReleaseOfMinor (ctx , "1.12 " )
47+ capiRelease110 , err = capi_e2e .GetStableReleaseOfMinor (ctx , "1.10 " )
4748 Expect (err ).ToNot (HaveOccurred (), "failed to get stable release of CAPI" )
48- capiRelease112 = "v" + capiRelease112
49+ capiRelease110 = "v" + capiRelease110
4950 })
5051
5152 capi_e2e .ClusterctlUpgradeSpec (context .TODO (), func () capi_e2e.ClusterctlUpgradeSpecInput {
@@ -55,12 +56,12 @@ var _ = Describe("When testing clusterctl upgrades for CAPO (v0.12=>current) and
5556 BootstrapClusterProxy : e2eCtx .Environment .BootstrapClusterProxy ,
5657 ArtifactFolder : e2eCtx .Settings .ArtifactFolder ,
5758 SkipCleanup : false ,
58- InitWithBinary : "https://github.com/kubernetes-sigs/cluster-api/releases/download/" + capiRelease112 + "/clusterctl-{OS}-{ARCH}" ,
59- InitWithProvidersContract : "v1beta2 " ,
59+ InitWithBinary : "https://github.com/kubernetes-sigs/cluster-api/releases/download/" + capiRelease110 + "/clusterctl-{OS}-{ARCH}" ,
60+ InitWithProvidersContract : "v1beta1 " ,
6061 InitWithInfrastructureProviders : []string {"openstack:" + capoRelease012 },
61- InitWithCoreProvider : "cluster-api:" + capiRelease112 ,
62- InitWithBootstrapProviders : []string {"kubeadm:" + capiRelease112 },
63- InitWithControlPlaneProviders : []string {"kubeadm:" + capiRelease112 },
62+ InitWithCoreProvider : "cluster-api:" + capiRelease110 ,
63+ InitWithBootstrapProviders : []string {"kubeadm:" + capiRelease110 },
64+ InitWithControlPlaneProviders : []string {"kubeadm:" + capiRelease110 },
6465 MgmtFlavor : shared .FlavorDefault ,
6566 WorkloadFlavor : shared .FlavorCapiV1Beta1 ,
6667 InitWithKubernetesVersion : e2eCtx .E2EConfig .MustGetVariable (shared .KubernetesKindVersion ),
@@ -77,9 +78,9 @@ var _ = Describe("When testing clusterctl upgrades for CAPO (v0.13=>current) and
7778 Expect (err ).ToNot (HaveOccurred (), "failed to get stable release of CAPO" )
7879 capoRelease013 = "v" + capoRelease013
7980 // Note: This gives the version without the 'v' prefix, so we need to add it below.
80- capiRelease112 , err = capi_e2e .GetStableReleaseOfMinor (ctx , "1.12 " )
81+ capiRelease110 , err = capi_e2e .GetStableReleaseOfMinor (ctx , "1.10 " )
8182 Expect (err ).ToNot (HaveOccurred (), "failed to get stable release of CAPI" )
82- capiRelease112 = "v" + capiRelease112
83+ capiRelease110 = "v" + capiRelease110
8384 })
8485
8586 capi_e2e .ClusterctlUpgradeSpec (context .TODO (), func () capi_e2e.ClusterctlUpgradeSpecInput {
@@ -89,12 +90,12 @@ var _ = Describe("When testing clusterctl upgrades for CAPO (v0.13=>current) and
8990 BootstrapClusterProxy : e2eCtx .Environment .BootstrapClusterProxy ,
9091 ArtifactFolder : e2eCtx .Settings .ArtifactFolder ,
9192 SkipCleanup : false ,
92- InitWithBinary : "https://github.com/kubernetes-sigs/cluster-api/releases/download/" + capiRelease112 + "/clusterctl-{OS}-{ARCH}" ,
93- InitWithProvidersContract : "v1beta2 " ,
93+ InitWithBinary : "https://github.com/kubernetes-sigs/cluster-api/releases/download/" + capiRelease110 + "/clusterctl-{OS}-{ARCH}" ,
94+ InitWithProvidersContract : "v1beta1 " ,
9495 InitWithInfrastructureProviders : []string {"openstack:" + capoRelease013 },
95- InitWithCoreProvider : "cluster-api:" + capiRelease112 ,
96- InitWithBootstrapProviders : []string {"kubeadm:" + capiRelease112 },
97- InitWithControlPlaneProviders : []string {"kubeadm:" + capiRelease112 },
96+ InitWithCoreProvider : "cluster-api:" + capiRelease110 ,
97+ InitWithBootstrapProviders : []string {"kubeadm:" + capiRelease110 },
98+ InitWithControlPlaneProviders : []string {"kubeadm:" + capiRelease110 },
9899 MgmtFlavor : shared .FlavorDefault ,
99100 WorkloadFlavor : shared .FlavorCapiV1Beta1 ,
100101 InitWithKubernetesVersion : e2eCtx .E2EConfig .MustGetVariable (shared .KubernetesKindVersion ),
@@ -105,6 +106,40 @@ var _ = Describe("When testing clusterctl upgrades for CAPO (v0.13=>current) and
105106})
106107
107108var _ = Describe ("When testing clusterctl upgrades for CAPO (v0.14=>current) and ORC (v1.0.2=>current)[clusterctl-upgrade]" , func () {
109+ BeforeEach (func (ctx context.Context ) {
110+ // Note: This gives the version without the 'v' prefix, so we need to add it below.
111+ capoRelease014 , err = clusterctl .ResolveRelease (ctx , "go://github.com/kubernetes-sigs/cluster-api-provider-openstack@v0.14" )
112+ Expect (err ).ToNot (HaveOccurred (), "failed to get stable release of CAPO" )
113+ capoRelease014 = "v" + capoRelease014
114+ // Note: This gives the version without the 'v' prefix, so we need to add it below.
115+ capiRelease110 , err = capi_e2e .GetStableReleaseOfMinor (ctx , "1.10" )
116+ Expect (err ).ToNot (HaveOccurred (), "failed to get stable release of CAPI" )
117+ capiRelease110 = "v" + capiRelease110
118+ })
119+
120+ capi_e2e .ClusterctlUpgradeSpec (context .TODO (), func () capi_e2e.ClusterctlUpgradeSpecInput {
121+ return capi_e2e.ClusterctlUpgradeSpecInput {
122+ E2EConfig : e2eCtx .E2EConfig ,
123+ ClusterctlConfigPath : e2eCtx .Environment .ClusterctlConfigPath ,
124+ BootstrapClusterProxy : e2eCtx .Environment .BootstrapClusterProxy ,
125+ ArtifactFolder : e2eCtx .Settings .ArtifactFolder ,
126+ SkipCleanup : false ,
127+ InitWithBinary : "https://github.com/kubernetes-sigs/cluster-api/releases/download/" + capiRelease110 + "/clusterctl-{OS}-{ARCH}" ,
128+ InitWithProvidersContract : "v1beta1" ,
129+ InitWithInfrastructureProviders : []string {"openstack:" + capoRelease014 },
130+ InitWithCoreProvider : "cluster-api:" + capiRelease110 ,
131+ InitWithBootstrapProviders : []string {"kubeadm:" + capiRelease110 },
132+ InitWithControlPlaneProviders : []string {"kubeadm:" + capiRelease110 },
133+ MgmtFlavor : shared .FlavorDefault ,
134+ WorkloadFlavor : shared .FlavorCapiV1Beta1 ,
135+ InitWithKubernetesVersion : e2eCtx .E2EConfig .MustGetVariable (shared .KubernetesKindVersion ),
136+ InitWithRuntimeExtensionProviders : []string {"openstack-resource-controller:v1.0.2" },
137+ UseKindForManagementCluster : true ,
138+ }
139+ })
140+ })
141+
142+ var _ = Describe ("When testing clusterctl upgrades for CAPO (v0.14=>current) and CAPI v1beta2 backwards compatibility [clusterctl-upgrade]" , func () {
108143 BeforeEach (func (ctx context.Context ) {
109144 // Note: This gives the version without the 'v' prefix, so we need to add it below.
110145 capoRelease014 , err = clusterctl .ResolveRelease (ctx , "go://github.com/kubernetes-sigs/cluster-api-provider-openstack@v0.14" )
@@ -116,6 +151,9 @@ var _ = Describe("When testing clusterctl upgrades for CAPO (v0.14=>current) and
116151 capiRelease112 = "v" + capiRelease112
117152 })
118153
154+ // Here we verify v1beta2 backwards compatibility by initializing with a
155+ // CAPI version that has v1beta2 and a CAPI version that has v1beta1 contract.
156+ // We specify no contract for initialization and instead set the specific versions.
119157 capi_e2e .ClusterctlUpgradeSpec (context .TODO (), func () capi_e2e.ClusterctlUpgradeSpecInput {
120158 return capi_e2e.ClusterctlUpgradeSpecInput {
121159 E2EConfig : e2eCtx .E2EConfig ,
@@ -124,7 +162,6 @@ var _ = Describe("When testing clusterctl upgrades for CAPO (v0.14=>current) and
124162 ArtifactFolder : e2eCtx .Settings .ArtifactFolder ,
125163 SkipCleanup : false ,
126164 InitWithBinary : "https://github.com/kubernetes-sigs/cluster-api/releases/download/" + capiRelease112 + "/clusterctl-{OS}-{ARCH}" ,
127- InitWithProvidersContract : "v1beta2" ,
128165 InitWithInfrastructureProviders : []string {"openstack:" + capoRelease014 },
129166 InitWithCoreProvider : "cluster-api:" + capiRelease112 ,
130167 InitWithBootstrapProviders : []string {"kubeadm:" + capiRelease112 },
0 commit comments