Skip to content

Commit 32ec000

Browse files
committed
Test ORC upgrades in e2e
Signed-off-by: Siiri Kemppainen <siiri.kemppainen@est.tech>
1 parent a36532d commit 32ec000

File tree

3 files changed

+62
-30
lines changed

3 files changed

+62
-30
lines changed

test/e2e/data/e2e_conf.yaml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -154,6 +154,15 @@ providers:
154154
replacements:
155155
- old: "imagePullPolicy: Always"
156156
new: "imagePullPolicy: IfNotPresent"
157+
# This is only for clusterctl upgrade tests, latest stable release of major version v1.0
158+
- name: "{go://github.com/k-orc/openstack-resource-controller@v1.0}"
159+
value: ../../../../cluster-api-provider-openstack/test/infrastructure/openstack-resource-controller/config/upgrade-from
160+
contract: v1beta1
161+
files:
162+
- sourcePath: "../data/shared/openstack-resource-controller/metadata.yaml"
163+
replacements:
164+
- old: "imagePullPolicy: Always"
165+
new: "imagePullPolicy: IfNotPresent"
157166

158167

159168
# default variables for the e2e test; those values could be overridden via env variables, thus

test/e2e/suites/e2e/clusterctl_upgrade_test.go

Lines changed: 41 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -34,9 +34,10 @@ var (
3434
capoRelease011 string
3535
capoRelease012 string
3636
capiRelease19 string
37+
orcRelease10 string
3738
)
3839

39-
var _ = Describe("When testing clusterctl upgrades (v0.11=>current) [clusterctl-upgrade]", func() {
40+
var _ = Describe("When testing clusterctl upgrades for CAPO (v0.11=>current) and ORC (v1.0=>current) [clusterctl-upgrade]", func() {
4041
BeforeEach(func(ctx context.Context) {
4142
setDownloadE2EImageEnvVar()
4243
// Note: This gives the version without the 'v' prefix, so we need to add it below.
@@ -47,29 +48,34 @@ var _ = Describe("When testing clusterctl upgrades (v0.11=>current) [clusterctl-
4748
capiRelease19, err = capi_e2e.GetStableReleaseOfMinor(ctx, "1.9")
4849
Expect(err).ToNot(HaveOccurred(), "failed to get stable release of CAPI")
4950
capiRelease19 = "v" + capiRelease19
51+
// Note: This gives the version without the 'v' prefix, so we need to add it below.
52+
orcRelease10, err = clusterctl.ResolveRelease(ctx, "go://github.com/k-orc/openstack-resource-controller@v1.0")
53+
Expect(err).ToNot(HaveOccurred(), "failed to get stable release of ORC")
54+
orcRelease10 = "v" + orcRelease10
5055
})
5156

5257
capi_e2e.ClusterctlUpgradeSpec(context.TODO(), func() capi_e2e.ClusterctlUpgradeSpecInput {
5358
return capi_e2e.ClusterctlUpgradeSpecInput{
54-
E2EConfig: e2eCtx.E2EConfig,
55-
ClusterctlConfigPath: e2eCtx.Environment.ClusterctlConfigPath,
56-
BootstrapClusterProxy: e2eCtx.Environment.BootstrapClusterProxy,
57-
ArtifactFolder: e2eCtx.Settings.ArtifactFolder,
58-
SkipCleanup: false,
59-
InitWithBinary: "https://github.com/kubernetes-sigs/cluster-api/releases/download/" + capiRelease19 + "/clusterctl-{OS}-{ARCH}",
60-
InitWithProvidersContract: "v1beta1",
61-
InitWithInfrastructureProviders: []string{"openstack:" + capoRelease011},
62-
InitWithCoreProvider: "cluster-api:" + capiRelease19,
63-
InitWithBootstrapProviders: []string{"kubeadm:" + capiRelease19},
64-
InitWithControlPlaneProviders: []string{"kubeadm:" + capiRelease19},
65-
MgmtFlavor: shared.FlavorDefault,
66-
WorkloadFlavor: shared.FlavorDefault,
67-
InitWithKubernetesVersion: e2eCtx.E2EConfig.MustGetVariable(shared.KubernetesVersion),
59+
E2EConfig: e2eCtx.E2EConfig,
60+
ClusterctlConfigPath: e2eCtx.Environment.ClusterctlConfigPath,
61+
BootstrapClusterProxy: e2eCtx.Environment.BootstrapClusterProxy,
62+
ArtifactFolder: e2eCtx.Settings.ArtifactFolder,
63+
SkipCleanup: false,
64+
InitWithBinary: "https://github.com/kubernetes-sigs/cluster-api/releases/download/" + capiRelease19 + "/clusterctl-{OS}-{ARCH}",
65+
InitWithProvidersContract: "v1beta1",
66+
InitWithInfrastructureProviders: []string{"openstack:" + capoRelease011},
67+
InitWithCoreProvider: "cluster-api:" + capiRelease19,
68+
InitWithBootstrapProviders: []string{"kubeadm:" + capiRelease19},
69+
InitWithControlPlaneProviders: []string{"kubeadm:" + capiRelease19},
70+
MgmtFlavor: shared.FlavorDefault,
71+
WorkloadFlavor: shared.FlavorDefault,
72+
InitWithKubernetesVersion: e2eCtx.E2EConfig.MustGetVariable(shared.KubernetesVersion),
73+
InitWithRuntimeExtensionProviders: []string{"openstack-resource-controller:" + orcRelease10},
6874
}
6975
})
7076
})
7177

72-
var _ = Describe("When testing clusterctl upgrades (v0.12=>current) [clusterctl-upgrade]", func() {
78+
var _ = Describe("When testing clusterctl upgrades for CAPO (v0.12=>current) and ORC (v1.0=>current)[clusterctl-upgrade]", func() {
7379
BeforeEach(func(ctx context.Context) {
7480
setDownloadE2EImageEnvVar()
7581
// Note: This gives the version without the 'v' prefix, so we need to add it below.
@@ -80,24 +86,29 @@ var _ = Describe("When testing clusterctl upgrades (v0.12=>current) [clusterctl-
8086
capiRelease19, err = capi_e2e.GetStableReleaseOfMinor(ctx, "1.9")
8187
Expect(err).ToNot(HaveOccurred(), "failed to get stable release of CAPI")
8288
capiRelease19 = "v" + capiRelease19
89+
// Note: This gives the version without the 'v' prefix, so we need to add it below.
90+
orcRelease10, err = clusterctl.ResolveRelease(ctx, "go://github.com/k-orc/openstack-resource-controller@v1.0")
91+
Expect(err).ToNot(HaveOccurred(), "failed to get stable release of ORC")
92+
orcRelease10 = "v" + orcRelease10
8393
})
8494

8595
capi_e2e.ClusterctlUpgradeSpec(context.TODO(), func() capi_e2e.ClusterctlUpgradeSpecInput {
8696
return capi_e2e.ClusterctlUpgradeSpecInput{
87-
E2EConfig: e2eCtx.E2EConfig,
88-
ClusterctlConfigPath: e2eCtx.Environment.ClusterctlConfigPath,
89-
BootstrapClusterProxy: e2eCtx.Environment.BootstrapClusterProxy,
90-
ArtifactFolder: e2eCtx.Settings.ArtifactFolder,
91-
SkipCleanup: false,
92-
InitWithBinary: "https://github.com/kubernetes-sigs/cluster-api/releases/download/" + capiRelease19 + "/clusterctl-{OS}-{ARCH}",
93-
InitWithProvidersContract: "v1beta1",
94-
InitWithInfrastructureProviders: []string{"openstack:" + capoRelease012},
95-
InitWithCoreProvider: "cluster-api:" + capiRelease19,
96-
InitWithBootstrapProviders: []string{"kubeadm:" + capiRelease19},
97-
InitWithControlPlaneProviders: []string{"kubeadm:" + capiRelease19},
98-
MgmtFlavor: shared.FlavorDefault,
99-
WorkloadFlavor: shared.FlavorDefault,
100-
InitWithKubernetesVersion: e2eCtx.E2EConfig.MustGetVariable(shared.KubernetesVersion),
97+
E2EConfig: e2eCtx.E2EConfig,
98+
ClusterctlConfigPath: e2eCtx.Environment.ClusterctlConfigPath,
99+
BootstrapClusterProxy: e2eCtx.Environment.BootstrapClusterProxy,
100+
ArtifactFolder: e2eCtx.Settings.ArtifactFolder,
101+
SkipCleanup: false,
102+
InitWithBinary: "https://github.com/kubernetes-sigs/cluster-api/releases/download/" + capiRelease19 + "/clusterctl-{OS}-{ARCH}",
103+
InitWithProvidersContract: "v1beta1",
104+
InitWithInfrastructureProviders: []string{"openstack:" + capoRelease012},
105+
InitWithCoreProvider: "cluster-api:" + capiRelease19,
106+
InitWithBootstrapProviders: []string{"kubeadm:" + capiRelease19},
107+
InitWithControlPlaneProviders: []string{"kubeadm:" + capiRelease19},
108+
MgmtFlavor: shared.FlavorDefault,
109+
WorkloadFlavor: shared.FlavorDefault,
110+
InitWithKubernetesVersion: e2eCtx.E2EConfig.MustGetVariable(shared.KubernetesVersion),
111+
InitWithRuntimeExtensionProviders: []string{"openstack-resource-controller:" + orcRelease10},
101112
}
102113
})
103114
})
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
apiVersion: kustomize.config.k8s.io/v1beta1
2+
kind: Kustomization
3+
4+
labels:
5+
# openstack-resource-controller is not a provider, but by adding this label
6+
# we can get this installed by Cluster APIs Tiltfile and by the clusterctl machinery we use in E2E tests.
7+
- pairs:
8+
cluster.x-k8s.io/provider: "runtime-extension-openstack-resource-controller"
9+
10+
resources:
11+
# latest stable release of major version v1.0
12+
- https://github.com/k-orc/openstack-resource-controller/releases/download/{go://github.com/k-orc/openstack-resource-controller@v1.0}/install.yaml

0 commit comments

Comments
 (0)