Skip to content

Commit c9d6f72

Browse files
Merge pull request #2242 from Nordix/update-clusterctl-test-1.9/adil
🌱 Update clusterctl tests for 1.9
2 parents e214478 + 9146b4b commit c9d6f72

File tree

9 files changed

+32
-152
lines changed

9 files changed

+32
-152
lines changed

docs/e2e-test.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -129,8 +129,8 @@ in the ephemeral cluster either before pivoting or after re-pivoting.
129129

130130
| tests | CAPM3 from | CAPM3 to | CAPI from | CAPI to |
131131
| --------------| ---------------------- | --------- | --------------------- |---------------- |
132+
| v1.9=>current | v1.9 latest patch | main | v1.9 latest patch | latest release |
132133
| v1.8=>current | v1.8 latest patch | main | v1.8 latest patch | latest release |
133-
| v1.7=>current | v1.7 latest patch | main | v1.7 latest patch | latest release |
134134

135135
<!-- markdownlint-disable MD013 -->
136136

scripts/ci-e2e.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -96,13 +96,13 @@ source "${M3_DEV_ENV_PATH}/lib/ironic_tls_setup.sh"
9696

9797
# Generate credentials
9898
BMO_OVERLAYS=(
99-
"${REPO_ROOT}/test/e2e/data/bmo-deployment/overlays/release-0.6"
10099
"${REPO_ROOT}/test/e2e/data/bmo-deployment/overlays/release-0.8"
100+
"${REPO_ROOT}/test/e2e/data/bmo-deployment/overlays/release-0.9"
101101
"${REPO_ROOT}/test/e2e/data/bmo-deployment/overlays/release-latest"
102102
)
103103
IRONIC_OVERLAYS=(
104-
"${REPO_ROOT}/test/e2e/data/ironic-deployment/overlays/release-25.0"
105104
"${REPO_ROOT}/test/e2e/data/ironic-deployment/overlays/release-26.0"
105+
"${REPO_ROOT}/test/e2e/data/ironic-deployment/overlays/release-27.0"
106106
"${REPO_ROOT}/test/e2e/data/ironic-deployment/overlays/release-latest"
107107
)
108108

test/e2e/config/e2e_conf.yaml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -291,11 +291,9 @@ variables:
291291
IMAGE_CHECKSUM_TYPE: "sha256"
292292
IMAGE_USERNAME: "metal3"
293293
NODE_DRAIN_TIMEOUT: "0s"
294-
IRONIC_RELEASE_25.0: "data/ironic-deployment/overlays/release-25.0"
295294
IRONIC_RELEASE_26.0: "data/ironic-deployment/overlays/release-26.0"
296295
IRONIC_RELEASE_27.0: "data/ironic-deployment/overlays/release-27.0"
297296
IRONIC_RELEASE_LATEST: "data/ironic-deployment/overlays/release-latest"
298-
BMO_RELEASE_0.6: "data/bmo-deployment/overlays/release-0.6"
299297
BMO_RELEASE_0.8: "data/bmo-deployment/overlays/release-0.8"
300298
BMO_RELEASE_0.9: "data/bmo-deployment/overlays/release-0.9"
301299
BMO_RELEASE_LATEST: "data/bmo-deployment/overlays/release-latest"

test/e2e/data/bmo-deployment/overlays/release-0.6/ironic.env

Lines changed: 0 additions & 4 deletions
This file was deleted.

test/e2e/data/bmo-deployment/overlays/release-0.6/kustomization.yaml

Lines changed: 0 additions & 34 deletions
This file was deleted.

test/e2e/data/ironic-deployment/overlays/release-25.0/ironic_bmo_configmap.env

Lines changed: 0 additions & 12 deletions
This file was deleted.

test/e2e/data/ironic-deployment/overlays/release-25.0/keepalived_patch.yaml

Lines changed: 0 additions & 28 deletions
This file was deleted.

test/e2e/data/ironic-deployment/overlays/release-25.0/kustomization.yaml

Lines changed: 0 additions & 48 deletions
This file was deleted.

test/e2e/upgrade_clusterctl_test.go

Lines changed: 29 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -26,21 +26,26 @@ var (
2626
providerMetal3Prefix = "metal3:v%s"
2727
ironicGoproxy = "https://proxy.golang.org/github.com/metal3-io/ironic-image/@v/list"
2828
bmoGoproxy = "https://proxy.golang.org/github.com/metal3-io/baremetal-operator/@v/list"
29+
30+
k8sVersion string
2931
)
3032

31-
var _ = Describe("When testing cluster upgrade from releases (v1.8=>current) [clusterctl-upgrade]", func() {
33+
var _ = Describe("When testing cluster upgrade from releases (v1.9=>current) [clusterctl-upgrade]", func() {
3234
BeforeEach(func() {
33-
osType := strings.ToLower(os.Getenv("OS"))
34-
Expect(osType).ToNot(Equal(""))
35+
k8sVersion = "v1.32.0"
3536
validateGlobals(specName)
36-
imageURL, imageChecksum := EnsureImage("v1.32.0")
37+
imageURL, imageChecksum := EnsureImage(k8sVersion)
3738
os.Setenv("IMAGE_RAW_CHECKSUM", imageChecksum)
3839
os.Setenv("IMAGE_RAW_URL", imageURL)
3940
// We need to override clusterctl apply log folder to avoid getting our credentials exposed.
4041
clusterctlLogFolder = filepath.Join(os.TempDir(), "target_cluster_logs", bootstrapClusterProxy.GetName())
4142
})
4243

43-
minorVersion := "1.8"
44+
minorVersion := "1.9"
45+
bmoFromRelease := "0.9"
46+
ironicFromRelease := "27.0"
47+
bmoToRelease := "latest"
48+
ironicToRelease := "latest"
4449
capiStableRelease, err := capi_e2e.GetStableReleaseOfMinor(ctx, minorVersion)
4550
Expect(err).ToNot(HaveOccurred(), "Failed to get stable version for CAPI minor release : %s", minorVersion)
4651
capm3StableRelease, err := GetCAPM3StableReleaseOfMinor(ctx, minorVersion)
@@ -57,42 +62,45 @@ var _ = Describe("When testing cluster upgrade from releases (v1.8=>current) [cl
5762
InitWithBootstrapProviders: []string{fmt.Sprintf(providerKubeadmPrefix, capiStableRelease)},
5863
InitWithControlPlaneProviders: []string{fmt.Sprintf(providerKubeadmPrefix, capiStableRelease)},
5964
InitWithInfrastructureProviders: []string{fmt.Sprintf(providerMetal3Prefix, capm3StableRelease)},
60-
InitWithKubernetesVersion: "v1.32.0",
61-
WorkloadKubernetesVersion: "v1.32.0",
65+
InitWithKubernetesVersion: k8sVersion,
66+
WorkloadKubernetesVersion: k8sVersion,
6267
InitWithBinary: fmt.Sprintf(clusterctlDownloadURL, capiStableRelease),
6368
PreInit: func(clusterProxy framework.ClusterProxy) {
64-
preInitFunc(clusterProxy, "0.8", "26.0")
69+
preInitFunc(clusterProxy, bmoFromRelease, ironicFromRelease)
6570
// Override capi/capm3 versions exported in preInit
6671
os.Setenv("CAPI_VERSION", "v1beta1")
6772
os.Setenv("CAPM3_VERSION", "v1beta1")
6873
os.Setenv("KUBECONFIG_BOOTSTRAP", bootstrapClusterProxy.GetKubeconfigPath())
6974
},
7075
PostNamespaceCreated: postNamespaceCreated,
7176
PreUpgrade: func(clusterProxy framework.ClusterProxy) {
72-
preUpgrade(clusterProxy, "latest", "latest")
77+
preUpgrade(clusterProxy, bmoToRelease, ironicToRelease)
7378
},
7479
PreCleanupManagementCluster: func(clusterProxy framework.ClusterProxy) {
75-
preCleanupManagementCluster(clusterProxy, "latest")
80+
preCleanupManagementCluster(clusterProxy, ironicToRelease)
7681
},
7782
MgmtFlavor: osType,
7883
WorkloadFlavor: osType,
7984
}
8085
})
8186
})
8287

83-
var _ = Describe("When testing cluster upgrade from releases (v1.7=>current) [clusterctl-upgrade]", func() {
88+
var _ = Describe("When testing cluster upgrade from releases (v1.8=>current) [clusterctl-upgrade]", func() {
8489
BeforeEach(func() {
85-
osType := strings.ToLower(os.Getenv("OS"))
86-
Expect(osType).ToNot(Equal(""))
90+
k8sVersion = "v1.31.2"
8791
validateGlobals(specName)
88-
imageURL, imageChecksum := EnsureImage("v1.30.0")
92+
imageURL, imageChecksum := EnsureImage(k8sVersion)
8993
os.Setenv("IMAGE_RAW_CHECKSUM", imageChecksum)
9094
os.Setenv("IMAGE_RAW_URL", imageURL)
9195
// We need to override clusterctl apply log folder to avoid getting our credentials exposed.
9296
clusterctlLogFolder = filepath.Join(os.TempDir(), "target_cluster_logs", bootstrapClusterProxy.GetName())
9397
})
9498

95-
minorVersion := "1.7"
99+
minorVersion := "1.8"
100+
bmoFromRelease := "0.8"
101+
ironicFromRelease := "26.0"
102+
bmoToRelease := "latest"
103+
ironicToRelease := "latest"
96104
capiStableRelease, err := capi_e2e.GetStableReleaseOfMinor(ctx, minorVersion)
97105
Expect(err).ToNot(HaveOccurred(), "Failed to get stable version for CAPI minor release : %s", minorVersion)
98106
capm3StableRelease, err := GetCAPM3StableReleaseOfMinor(ctx, minorVersion)
@@ -109,22 +117,22 @@ var _ = Describe("When testing cluster upgrade from releases (v1.7=>current) [cl
109117
InitWithBootstrapProviders: []string{fmt.Sprintf(providerKubeadmPrefix, capiStableRelease)},
110118
InitWithControlPlaneProviders: []string{fmt.Sprintf(providerKubeadmPrefix, capiStableRelease)},
111119
InitWithInfrastructureProviders: []string{fmt.Sprintf(providerMetal3Prefix, capm3StableRelease)},
112-
InitWithKubernetesVersion: "v1.30.0",
113-
WorkloadKubernetesVersion: "v1.30.0",
120+
InitWithKubernetesVersion: k8sVersion,
121+
WorkloadKubernetesVersion: k8sVersion,
114122
InitWithBinary: fmt.Sprintf(clusterctlDownloadURL, capiStableRelease),
115123
PreInit: func(clusterProxy framework.ClusterProxy) {
116-
preInitFunc(clusterProxy, "0.6", "25.0")
124+
preInitFunc(clusterProxy, bmoFromRelease, ironicFromRelease)
117125
// Override capi/capm3 versions exported in preInit
118126
os.Setenv("CAPI_VERSION", "v1beta1")
119127
os.Setenv("CAPM3_VERSION", "v1beta1")
120128
os.Setenv("KUBECONFIG_BOOTSTRAP", bootstrapClusterProxy.GetKubeconfigPath())
121129
},
122130
PostNamespaceCreated: postNamespaceCreated,
123131
PreUpgrade: func(clusterProxy framework.ClusterProxy) {
124-
preUpgrade(clusterProxy, "latest", "latest")
132+
preUpgrade(clusterProxy, bmoToRelease, ironicToRelease)
125133
},
126134
PreCleanupManagementCluster: func(clusterProxy framework.ClusterProxy) {
127-
preCleanupManagementCluster(clusterProxy, "latest")
135+
preCleanupManagementCluster(clusterProxy, ironicToRelease)
128136
},
129137
MgmtFlavor: osType,
130138
WorkloadFlavor: osType,
@@ -288,7 +296,7 @@ func preInitFunc(clusterProxy framework.ClusterProxy, bmoRelease string, ironicR
288296

289297
// preUpgrade hook should be called from ClusterctlUpgradeSpec before upgrading the management cluster
290298
// it upgrades Ironic and BMO before upgrading the providers.
291-
func preUpgrade(clusterProxy framework.ClusterProxy, ironicUpgradeToRelease string, bmoUpgradeToRelease string) {
299+
func preUpgrade(clusterProxy framework.ClusterProxy, bmoUpgradeToRelease string, ironicUpgradeToRelease string) {
292300
ironicTag, err := GetLatestPatchRelease(ironicGoproxy, ironicUpgradeToRelease)
293301
Expect(err).ToNot(HaveOccurred(), "Failed to fetch ironic version for release %s", ironicUpgradeToRelease)
294302
Logf("Ironic Tag %s\n", ironicTag)

0 commit comments

Comments
 (0)