Skip to content

Commit 702600a

Browse files
authored
Merge pull request #2714 from Nordix/lentzi90/clusterctl-upgrade-0.13
🌱 E2E: Run clusterctl upgrade from v0.13
2 parents cdb8927 + 04164fe commit 702600a

File tree

2 files changed

+78
-0
lines changed

2 files changed

+78
-0
lines changed

test/e2e/data/e2e_conf.yaml

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,15 @@ providers:
2727
files:
2828
- sourcePath: "../data/shared/capi/metadata.yaml"
2929
# For clusterctl upgrade test
30+
- name: v1.11.0
31+
value: "https://github.com/kubernetes-sigs/cluster-api/releases/download/v1.11.0/core-components.yaml"
32+
type: "url"
33+
contract: v1beta2
34+
replacements:
35+
- old: --metrics-addr=127.0.0.1:8080
36+
new: --metrics-addr=:8080
37+
files:
38+
- sourcePath: "../data/shared/capi/metadata.yaml"
3039
- name: "{go://sigs.k8s.io/[email protected]}"
3140
value: "https://github.com/kubernetes-sigs/cluster-api/releases/download/{go://sigs.k8s.io/[email protected]}/core-components.yaml"
3241
type: url
@@ -51,6 +60,15 @@ providers:
5160
files:
5261
- sourcePath: "../data/shared/capi/metadata.yaml"
5362
# For clusterctl upgrade test
63+
- name: v1.11.0
64+
value: "https://github.com/kubernetes-sigs/cluster-api/releases/download/v1.11.0/bootstrap-components.yaml"
65+
type: "url"
66+
contract: v1beta2
67+
replacements:
68+
- old: --metrics-addr=127.0.0.1:8080
69+
new: --metrics-addr=:8080
70+
files:
71+
- sourcePath: "../data/shared/capi/metadata.yaml"
5472
- name: "{go://sigs.k8s.io/[email protected]}"
5573
value: "https://github.com/kubernetes-sigs/cluster-api/releases/download/{go://sigs.k8s.io/[email protected]}/bootstrap-components.yaml"
5674
type: url
@@ -75,6 +93,15 @@ providers:
7593
files:
7694
- sourcePath: "../data/shared/capi/metadata.yaml"
7795
# For clusterctl upgrade test
96+
- name: v1.11.0
97+
value: "https://github.com/kubernetes-sigs/cluster-api/releases/download/v1.11.0/control-plane-components.yaml"
98+
type: "url"
99+
contract: v1beta2
100+
replacements:
101+
- old: --metrics-addr=127.0.0.1:8080
102+
new: --metrics-addr=:8080
103+
files:
104+
- sourcePath: "../data/shared/capi/metadata.yaml"
78105
- name: "{go://sigs.k8s.io/[email protected]}"
79106
value: "https://github.com/kubernetes-sigs/cluster-api/releases/download/{go://sigs.k8s.io/[email protected]}/control-plane-components.yaml"
80107
type: url
@@ -119,6 +146,21 @@ providers:
119146
new: "--v=4"
120147
- old: "--leader-elect"
121148
new: "--leader-elect=false\n - --sync-period=1m"
149+
# This is only for clusterctl upgrade tests
150+
- name: "{go://github.com/kubernetes-sigs/[email protected]}"
151+
value: "https://github.com/kubernetes-sigs/cluster-api-provider-openstack/releases/download/{go://github.com/kubernetes-sigs/[email protected]}/infrastructure-components.yaml"
152+
type: url
153+
contract: v1beta2
154+
files:
155+
- sourcePath: "../data/shared/provider/metadata.yaml"
156+
- sourcePath: "./infrastructure-openstack-no-artifact/cluster-template.yaml"
157+
replacements:
158+
- old: "imagePullPolicy: Always"
159+
new: "imagePullPolicy: IfNotPresent"
160+
- old: "--v=2"
161+
new: "--v=4"
162+
- old: "--leader-elect"
163+
new: "--leader-elect=false\n - --sync-period=1m"
122164
- name: v0.13.99
123165
value: ../../../config/default
124166
# This is the upcoming version.

test/e2e/suites/e2e/clusterctl_upgrade_test.go

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,9 @@ import (
3333
var (
3434
capoRelease011 string
3535
capoRelease012 string
36+
capoRelease013 string
3637
capiRelease110 string
38+
capiRelease111 string
3739
)
3840

3941
var _ = Describe("When testing clusterctl upgrades for CAPO (v0.11=>current) and ORC (v1.0.2=>current) [clusterctl-upgrade]", func() {
@@ -103,3 +105,37 @@ var _ = Describe("When testing clusterctl upgrades for CAPO (v0.12=>current) and
103105
}
104106
})
105107
})
108+
109+
var _ = Describe("When testing clusterctl upgrades for CAPO (v0.13=>current) and ORC (v1.0.2=>current)[clusterctl-upgrade]", func() {
110+
BeforeEach(func(ctx context.Context) {
111+
setDownloadE2EImageEnvVar()
112+
// Note: This gives the version without the 'v' prefix, so we need to add it below.
113+
capoRelease013, err = clusterctl.ResolveRelease(ctx, "go://github.com/kubernetes-sigs/[email protected]")
114+
Expect(err).ToNot(HaveOccurred(), "failed to get stable release of CAPO")
115+
capoRelease013 = "v" + capoRelease013
116+
// We need CAPI v1.11 here for clusterctl init with the v1beta2 contract.
117+
// This is hard-coded to the .0 release because the test will fail if there are no
118+
// newer patch releases to upgrade to.
119+
capiRelease111 = "v1.11.0"
120+
})
121+
122+
capi_e2e.ClusterctlUpgradeSpec(context.TODO(), func() capi_e2e.ClusterctlUpgradeSpecInput {
123+
return capi_e2e.ClusterctlUpgradeSpecInput{
124+
E2EConfig: e2eCtx.E2EConfig,
125+
ClusterctlConfigPath: e2eCtx.Environment.ClusterctlConfigPath,
126+
BootstrapClusterProxy: e2eCtx.Environment.BootstrapClusterProxy,
127+
ArtifactFolder: e2eCtx.Settings.ArtifactFolder,
128+
SkipCleanup: false,
129+
InitWithBinary: "https://github.com/kubernetes-sigs/cluster-api/releases/download/" + capiRelease111 + "/clusterctl-{OS}-{ARCH}",
130+
InitWithProvidersContract: "v1beta1",
131+
InitWithInfrastructureProviders: []string{"openstack:" + capoRelease013},
132+
InitWithCoreProvider: "cluster-api:" + capiRelease111,
133+
InitWithBootstrapProviders: []string{"kubeadm:" + capiRelease111},
134+
InitWithControlPlaneProviders: []string{"kubeadm:" + capiRelease111},
135+
MgmtFlavor: shared.FlavorDefault,
136+
WorkloadFlavor: shared.FlavorDefault,
137+
InitWithKubernetesVersion: e2eCtx.E2EConfig.MustGetVariable(shared.KubernetesVersion),
138+
InitWithRuntimeExtensionProviders: []string{"openstack-resource-controller:v1.0.2"},
139+
}
140+
})
141+
})

0 commit comments

Comments
 (0)