Skip to content

Commit 57ae27e

Browse files
authored
Merge pull request #2601 from Nordix/siiri/orc_upgrades_e2e
🌱 Test ORC upgrades in e2e
2 parents 9281ed4 + 54f93d4 commit 57ae27e

File tree

3 files changed

+53
-30
lines changed

3 files changed

+53
-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: v1.0.2
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: 32 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ var (
3636
capiRelease19 string
3737
)
3838

39-
var _ = Describe("When testing clusterctl upgrades (v0.11=>current) [clusterctl-upgrade]", func() {
39+
var _ = Describe("When testing clusterctl upgrades for CAPO (v0.11=>current) and ORC (v1.0.2=>current) [clusterctl-upgrade]", func() {
4040
BeforeEach(func(ctx context.Context) {
4141
setDownloadE2EImageEnvVar()
4242
// Note: This gives the version without the 'v' prefix, so we need to add it below.
@@ -51,25 +51,26 @@ var _ = Describe("When testing clusterctl upgrades (v0.11=>current) [clusterctl-
5151

5252
capi_e2e.ClusterctlUpgradeSpec(context.TODO(), func() capi_e2e.ClusterctlUpgradeSpecInput {
5353
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),
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),
68+
InitWithRuntimeExtensionProviders: []string{"openstack-resource-controller:v1.0.2"},
6869
}
6970
})
7071
})
7172

72-
var _ = Describe("When testing clusterctl upgrades (v0.12=>current) [clusterctl-upgrade]", func() {
73+
var _ = Describe("When testing clusterctl upgrades for CAPO (v0.12=>current) and ORC (v1.0.2=>current)[clusterctl-upgrade]", func() {
7374
BeforeEach(func(ctx context.Context) {
7475
setDownloadE2EImageEnvVar()
7576
// Note: This gives the version without the 'v' prefix, so we need to add it below.
@@ -84,20 +85,21 @@ var _ = Describe("When testing clusterctl upgrades (v0.12=>current) [clusterctl-
8485

8586
capi_e2e.ClusterctlUpgradeSpec(context.TODO(), func() capi_e2e.ClusterctlUpgradeSpecInput {
8687
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),
88+
E2EConfig: e2eCtx.E2EConfig,
89+
ClusterctlConfigPath: e2eCtx.Environment.ClusterctlConfigPath,
90+
BootstrapClusterProxy: e2eCtx.Environment.BootstrapClusterProxy,
91+
ArtifactFolder: e2eCtx.Settings.ArtifactFolder,
92+
SkipCleanup: false,
93+
InitWithBinary: "https://github.com/kubernetes-sigs/cluster-api/releases/download/" + capiRelease19 + "/clusterctl-{OS}-{ARCH}",
94+
InitWithProvidersContract: "v1beta1",
95+
InitWithInfrastructureProviders: []string{"openstack:" + capoRelease012},
96+
InitWithCoreProvider: "cluster-api:" + capiRelease19,
97+
InitWithBootstrapProviders: []string{"kubeadm:" + capiRelease19},
98+
InitWithControlPlaneProviders: []string{"kubeadm:" + capiRelease19},
99+
MgmtFlavor: shared.FlavorDefault,
100+
WorkloadFlavor: shared.FlavorDefault,
101+
InitWithKubernetesVersion: e2eCtx.E2EConfig.MustGetVariable(shared.KubernetesVersion),
102+
InitWithRuntimeExtensionProviders: []string{"openstack-resource-controller:v1.0.2"},
101103
}
102104
})
103105
})
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/v1.0.2/install.yaml

0 commit comments

Comments
 (0)