Skip to content

Commit e720677

Browse files
committed
Add metadata for v0.15 and update e2e
Bump ORC used in e2e tests to 2.5.0. Set correct metadata and contract versions. Update clusterctl upgrade tests to start from v1beta1 contract (CAPI v1.10). Add one test for verifying CAPI v1beta2 backwards compatibility. Signed-off-by: Lennart Jern <lennart.jern@est.tech>
1 parent 53815e2 commit e720677

6 files changed

Lines changed: 77 additions & 17 deletions

File tree

metadata.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,3 +31,6 @@ releaseSeries:
3131
- major: 0
3232
minor: 14
3333
contract: v1beta1
34+
- major: 0
35+
minor: 15
36+
contract: v1beta2

test/e2e/data/e2e_conf.yaml

Lines changed: 31 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ images:
1010
# Use local dev images built source tree;
1111
- name: gcr.io/k8s-staging-capi-openstack/capi-openstack-controller:e2e
1212
loadBehavior: mustLoad
13-
- name: quay.io/orc/openstack-resource-controller:v2.4.0
13+
- name: quay.io/orc/openstack-resource-controller:v2.5.0
1414
loadBehavior: tryLoad
1515

1616
providers:
@@ -36,6 +36,15 @@ providers:
3636
new: --metrics-addr=:8080
3737
files:
3838
- sourcePath: "../data/shared/capi/metadata.yaml"
39+
- name: "{go://sigs.k8s.io/cluster-api@v1.10}"
40+
value: "https://github.com/kubernetes-sigs/cluster-api/releases/download/{go://sigs.k8s.io/cluster-api@v1.10}/core-components.yaml"
41+
type: "url"
42+
contract: v1beta1
43+
replacements:
44+
- old: --metrics-addr=127.0.0.1:8080
45+
new: --metrics-addr=:8080
46+
files:
47+
- sourcePath: "../data/shared/capi/metadata.yaml"
3948
- name: kubeadm
4049
type: BootstrapProvider
4150
versions:
@@ -58,6 +67,15 @@ providers:
5867
new: --metrics-addr=:8080
5968
files:
6069
- sourcePath: "../data/shared/capi/metadata.yaml"
70+
- name: "{go://sigs.k8s.io/cluster-api@v1.10}"
71+
value: "https://github.com/kubernetes-sigs/cluster-api/releases/download/{go://sigs.k8s.io/cluster-api@v1.10}/bootstrap-components.yaml"
72+
type: "url"
73+
contract: v1beta1
74+
replacements:
75+
- old: --metrics-addr=127.0.0.1:8080
76+
new: --metrics-addr=:8080
77+
files:
78+
- sourcePath: "../data/shared/capi/metadata.yaml"
6179
- name: kubeadm
6280
type: ControlPlaneProvider
6381
versions:
@@ -80,6 +98,15 @@ providers:
8098
new: --metrics-addr=:8080
8199
files:
82100
- sourcePath: "../data/shared/capi/metadata.yaml"
101+
- name: "{go://sigs.k8s.io/cluster-api@v1.10}"
102+
value: "https://github.com/kubernetes-sigs/cluster-api/releases/download/{go://sigs.k8s.io/cluster-api@v1.10}/control-plane-components.yaml"
103+
type: "url"
104+
contract: v1beta1
105+
replacements:
106+
- old: --metrics-addr=127.0.0.1:8080
107+
new: --metrics-addr=:8080
108+
files:
109+
- sourcePath: "../data/shared/capi/metadata.yaml"
83110
- name: openstack
84111
type: InfrastructureProvider
85112
versions:
@@ -131,7 +158,7 @@ providers:
131158
- name: v0.15.99
132159
value: ../../../config/default
133160
# This is the upcoming version.
134-
contract: v1beta1
161+
contract: v1beta2
135162
files:
136163
- sourcePath: "../data/shared/provider/metadata.yaml"
137164
- sourcePath: "./infrastructure-openstack-no-artifact/cluster-template.yaml"
@@ -151,9 +178,9 @@ providers:
151178
- name: openstack-resource-controller
152179
type: RuntimeExtensionProvider # ORC isn't a provider but we fake it so it can be handled by the clusterctl machinery.
153180
versions:
154-
- name: v2.4.0
181+
- name: v2.5.0
155182
value: ../../../../cluster-api-provider-openstack/test/infrastructure/openstack-resource-controller/config/default
156-
contract: v1beta1
183+
contract: v1beta2
157184
files:
158185
- sourcePath: "../data/shared/openstack-resource-controller/metadata.yaml"
159186
replacements:

test/e2e/data/shared/openstack-resource-controller/metadata.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,3 +17,6 @@ releaseSeries:
1717
- major: 2
1818
minor: 4
1919
contract: v1beta1
20+
- major: 2
21+
minor: 5
22+
contract: v1beta2

test/e2e/data/shared/provider/metadata.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,4 +33,4 @@ releaseSeries:
3333
contract: v1beta1
3434
- major: 0
3535
minor: 15
36-
contract: v1beta1
36+
contract: v1beta2

test/e2e/suites/e2e/clusterctl_upgrade_test.go

Lines changed: 38 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -56,11 +56,8 @@ var _ = Describe("When testing clusterctl upgrades for CAPO (v0.12=>current) and
5656
ArtifactFolder: e2eCtx.Settings.ArtifactFolder,
5757
SkipCleanup: false,
5858
InitWithBinary: "https://github.com/kubernetes-sigs/cluster-api/releases/download/" + capiRelease112 + "/clusterctl-{OS}-{ARCH}",
59-
InitWithProvidersContract: "v1beta2",
59+
InitWithProvidersContract: "v1beta1",
6060
InitWithInfrastructureProviders: []string{"openstack:" + capoRelease012},
61-
InitWithCoreProvider: "cluster-api:" + capiRelease112,
62-
InitWithBootstrapProviders: []string{"kubeadm:" + capiRelease112},
63-
InitWithControlPlaneProviders: []string{"kubeadm:" + capiRelease112},
6461
MgmtFlavor: shared.FlavorDefault,
6562
WorkloadFlavor: shared.FlavorCapiV1Beta1,
6663
InitWithKubernetesVersion: e2eCtx.E2EConfig.MustGetVariable(shared.KubernetesKindVersion),
@@ -90,11 +87,8 @@ var _ = Describe("When testing clusterctl upgrades for CAPO (v0.13=>current) and
9087
ArtifactFolder: e2eCtx.Settings.ArtifactFolder,
9188
SkipCleanup: false,
9289
InitWithBinary: "https://github.com/kubernetes-sigs/cluster-api/releases/download/" + capiRelease112 + "/clusterctl-{OS}-{ARCH}",
93-
InitWithProvidersContract: "v1beta2",
90+
InitWithProvidersContract: "v1beta1",
9491
InitWithInfrastructureProviders: []string{"openstack:" + capoRelease013},
95-
InitWithCoreProvider: "cluster-api:" + capiRelease112,
96-
InitWithBootstrapProviders: []string{"kubeadm:" + capiRelease112},
97-
InitWithControlPlaneProviders: []string{"kubeadm:" + capiRelease112},
9892
MgmtFlavor: shared.FlavorDefault,
9993
WorkloadFlavor: shared.FlavorCapiV1Beta1,
10094
InitWithKubernetesVersion: e2eCtx.E2EConfig.MustGetVariable(shared.KubernetesKindVersion),
@@ -124,11 +118,44 @@ var _ = Describe("When testing clusterctl upgrades for CAPO (v0.14=>current) and
124118
ArtifactFolder: e2eCtx.Settings.ArtifactFolder,
125119
SkipCleanup: false,
126120
InitWithBinary: "https://github.com/kubernetes-sigs/cluster-api/releases/download/" + capiRelease112 + "/clusterctl-{OS}-{ARCH}",
127-
InitWithProvidersContract: "v1beta2",
121+
InitWithProvidersContract: "v1beta1",
122+
InitWithInfrastructureProviders: []string{"openstack:" + capoRelease014},
123+
MgmtFlavor: shared.FlavorDefault,
124+
WorkloadFlavor: shared.FlavorCapiV1Beta1,
125+
InitWithKubernetesVersion: e2eCtx.E2EConfig.MustGetVariable(shared.KubernetesKindVersion),
126+
InitWithRuntimeExtensionProviders: []string{"openstack-resource-controller:v1.0.2"},
127+
UseKindForManagementCluster: true,
128+
}
129+
})
130+
})
131+
132+
var _ = Describe("When testing clusterctl upgrades for CAPO (v0.14=>current) and CAPI v1beta2 backwards compatibility [clusterctl-upgrade]", func() {
133+
BeforeEach(func(ctx context.Context) {
134+
// Note: This gives the version without the 'v' prefix, so we need to add it below.
135+
capoRelease014, err = clusterctl.ResolveRelease(ctx, "go://github.com/kubernetes-sigs/cluster-api-provider-openstack@v0.14")
136+
Expect(err).ToNot(HaveOccurred(), "failed to get stable release of CAPO")
137+
capoRelease014 = "v" + capoRelease014
138+
// Note: This gives the version without the 'v' prefix, so we need to add it below.
139+
capiRelease112, err = capi_e2e.GetStableReleaseOfMinor(ctx, "1.12")
140+
Expect(err).ToNot(HaveOccurred(), "failed to get stable release of CAPI")
141+
capiRelease112 = "v" + capiRelease112
142+
})
143+
144+
// Here we verify v1beta2 backwards compatibility by initializing with a
145+
// CAPI version that has v1beta2 and a CAPI version that has v1beta1 contract.
146+
// We specify no contract for initialization and instead set the specific versions.
147+
capi_e2e.ClusterctlUpgradeSpec(context.TODO(), func() capi_e2e.ClusterctlUpgradeSpecInput {
148+
return capi_e2e.ClusterctlUpgradeSpecInput{
149+
E2EConfig: e2eCtx.E2EConfig,
150+
ClusterctlConfigPath: e2eCtx.Environment.ClusterctlConfigPath,
151+
BootstrapClusterProxy: e2eCtx.Environment.BootstrapClusterProxy,
152+
ArtifactFolder: e2eCtx.Settings.ArtifactFolder,
153+
SkipCleanup: false,
154+
InitWithBinary: "https://github.com/kubernetes-sigs/cluster-api/releases/download/" + capiRelease112 + "/clusterctl-{OS}-{ARCH}",
128155
InitWithInfrastructureProviders: []string{"openstack:" + capoRelease014},
129156
InitWithCoreProvider: "cluster-api:" + capiRelease112,
130-
InitWithBootstrapProviders: []string{"kubeadm:" + capiRelease112},
131-
InitWithControlPlaneProviders: []string{"kubeadm:" + capiRelease112},
157+
InitWithBootstrapProviders: []string{"cluster-api:" + capiRelease112},
158+
InitWithControlPlaneProviders: []string{"cluster-api:" + capiRelease112},
132159
MgmtFlavor: shared.FlavorDefault,
133160
WorkloadFlavor: shared.FlavorCapiV1Beta1,
134161
InitWithKubernetesVersion: e2eCtx.E2EConfig.MustGetVariable(shared.KubernetesKindVersion),

test/infrastructure/openstack-resource-controller/config/default/kustomization.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,4 +8,4 @@ labels:
88
cluster.x-k8s.io/provider: "runtime-extension-openstack-resource-controller"
99

1010
resources:
11-
- https://github.com/k-orc/openstack-resource-controller/releases/download/v2.4.0/install.yaml
11+
- https://github.com/k-orc/openstack-resource-controller/releases/download/v2.5.0/install.yaml

0 commit comments

Comments
 (0)