Skip to content

Commit c82fed7

Browse files
fix(test): update e2e tests to kubernertes v1.32 and CAPI 1.9 (#541)
* fix(test): Switch last-release to v1.6.1 for upgrade test * fix(release): Update metadata.yaml and Makefile Add v1.7.99 to Makefile and 1.7 series to metadata. * fix(deps): update e2e tests to kubernertes v1.32 and CAPI 1.9
1 parent 547aaa8 commit c82fed7

File tree

12 files changed

+46
-81
lines changed

12 files changed

+46
-81
lines changed

.github/workflows/build-dev.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,7 @@ jobs:
108108
- "clusterclass"
109109
- "capx-feature-test"
110110
- "nutanix-feature-test"
111+
- "nutanix-storage-test"
111112
- "scaling"
112113
- "kubernetes-upgrade"
113114
fail-fast: false

Makefile

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ LOCAL_PROVIDER_VERSION ?= ${IMG_TAG}
1717

1818
ifeq (${LOCAL_PROVIDER_VERSION},${IMG_TAG})
1919
# TODO(release-blocker): Change this versions after release when required here
20-
LOCAL_PROVIDER_VERSION := v1.6.99
20+
LOCAL_PROVIDER_VERSION := v1.7.99
2121
endif
2222

2323
# PLATFORMS is a list of platforms to build for.
@@ -222,7 +222,7 @@ docker-build: ## Build docker image with the manager.
222222

223223
.PHONY: docker-push
224224
docker-push: ## Push docker image with the manager.
225-
DOCKER_HOST=$(DOCKER_SOCKET) KO_DOCKER_REPO=${IMG_REPO} ko build --bare --platform=${PLATFORMS} -t ${IMG_TAG} .
225+
DOCKER_HOST=$(DOCKER_SOCKET) KO_DOCKER_REPO=${IMG_REPO} GOFLAGS="-ldflags=-X=main.gitCommitHash=${GIT_COMMIT_HASH}" ko build --bare --platform=${PLATFORMS} -t ${IMG_TAG} .
226226

227227
.PHONY: docker-push-kind
228228
docker-push-kind: ## Make docker image available to kind cluster.
@@ -257,10 +257,10 @@ undeploy: ## Undeploy controller from the K8s cluster specified in ~/.kube/confi
257257
##@ Templates
258258

259259
.PHONY: cluster-e2e-templates
260-
cluster-e2e-templates: cluster-e2e-templates-v1beta1 cluster-e2e-templates-v152 ## Generate cluster templates for all versions
260+
cluster-e2e-templates: cluster-e2e-templates-v1beta1 cluster-e2e-templates-v161 ## Generate cluster templates for all versions
261261

262-
cluster-e2e-templates-v152: ## Generate cluster templates for CAPX v1.5.2
263-
kustomize build $(NUTANIX_E2E_TEMPLATES)/v1.5.2/cluster-template --load-restrictor LoadRestrictionsNone > $(NUTANIX_E2E_TEMPLATES)/v1.5.2/cluster-template.yaml
262+
cluster-e2e-templates-v161: ## Generate cluster templates for CAPX v1.6.1
263+
kustomize build $(NUTANIX_E2E_TEMPLATES)/v1.6.1/cluster-template --load-restrictor LoadRestrictionsNone > $(NUTANIX_E2E_TEMPLATES)/v1.6.1/cluster-template.yaml
264264

265265
cluster-e2e-templates-v1beta1: ## Generate cluster templates for v1beta1
266266
kustomize build $(NUTANIX_E2E_TEMPLATES)/v1beta1/cluster-template --load-restrictor LoadRestrictionsNone > $(NUTANIX_E2E_TEMPLATES)/v1beta1/cluster-template.yaml

clusterctl.yaml.tmpl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ NUTANIX_INSECURE: false # Set to true for when using a self-signed certificate f
99
NUTANIX_PRISM_ELEMENT_CLUSTER_NAME: ""
1010
NUTANIX_SUBNET_NAME: ""
1111

12-
KUBERNETES_VERSION: "v1.27.8" # Kubernetes version, must match the version in NUTANIX_MACHINE_TEMPLATE_IMAGE_NAME
12+
KUBERNETES_VERSION: "v1.31.0" # Kubernetes version, must match the version in NUTANIX_MACHINE_TEMPLATE_IMAGE_NAME
1313
NUTANIX_MACHINE_TEMPLATE_IMAGE_NAME: "" # OS image name, must match the version in KUBERNETES_VERSION
1414
CONTROL_PLANE_ENDPOINT_IP: "" # An available IP that will be used by kube-vip for the Kubernetes API Server
1515
NUTANIX_SSH_AUTHORIZED_KEY: "" # Public key to use with user 'capiuser' on all Machines

metadata.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,9 @@ releaseSeries:
4343
- major: 1
4444
minor: 6
4545
contract: v1beta1
46+
- major: 1
47+
minor: 7
48+
contract: v1beta1
4649
- major: 0
4750
minor: 0
4851
contract: v1beta1

test/e2e/clusterctl_upgrade_test.go

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ func getKubernetesVersion() string {
5757
return "undefined"
5858
}
5959

60-
var _ = Describe("[clusterctl-Upgrade] Upgrade CAPX (v1.5.2 => current) K8S "+kubernetesVersion, Label("clusterctl-upgrade"), func() {
60+
var _ = Describe("[clusterctl-Upgrade] Upgrade CAPX (v1.6.1 => current) K8S "+kubernetesVersion, Label("clusterctl-upgrade"), func() {
6161
preWaitForCluster := createPreWaitForClusterFunc(func() capie2e.ClusterctlUpgradeSpecInput {
6262
return capie2e.ClusterctlUpgradeSpecInput{
6363
E2EConfig: e2eConfig,
@@ -83,12 +83,12 @@ var _ = Describe("[clusterctl-Upgrade] Upgrade CAPX (v1.5.2 => current) K8S "+ku
8383
BootstrapClusterProxy: bootstrapClusterProxy,
8484
ArtifactFolder: artifactFolder,
8585
SkipCleanup: skipCleanup,
86-
InitWithBinary: "https://github.com/kubernetes-sigs/cluster-api/releases/download/v1.7.6/clusterctl-{OS}-{ARCH}",
86+
InitWithBinary: "https://github.com/kubernetes-sigs/cluster-api/releases/download/v1.9.9/clusterctl-{OS}-{ARCH}",
8787
InitWithKubernetesVersion: e2eConfig.GetVariable("KUBERNETES_VERSION"),
88-
InitWithCoreProvider: "cluster-api:v1.7.6",
89-
InitWithBootstrapProviders: []string{"kubeadm:v1.7.6"},
90-
InitWithControlPlaneProviders: []string{"kubeadm:v1.7.6"},
91-
InitWithInfrastructureProviders: []string{"nutanix:v1.5.2"},
88+
InitWithCoreProvider: "cluster-api:v1.9.9",
89+
InitWithBootstrapProviders: []string{"kubeadm:v1.9.9"},
90+
InitWithControlPlaneProviders: []string{"kubeadm:v1.9.9"},
91+
InitWithInfrastructureProviders: []string{"nutanix:v1.6.1"},
9292
PreWaitForCluster: preWaitForCluster,
9393
PostUpgrade: postUpgradeFunc,
9494
}
@@ -104,7 +104,7 @@ func createPreWaitForClusterFunc(testInputFunc func() capie2e.ClusterctlUpgradeS
104104

105105
By("Get latest version of CAPX provider")
106106

107-
latestVersionString := "v1.5.2"
107+
latestVersionString := "v1.6.1"
108108
latestVersion, err := semver.ParseTolerant(latestVersionString)
109109
Expect(err).NotTo(HaveOccurred())
110110

@@ -163,7 +163,7 @@ func createPostUpgradeFunc(testInputFunc func() capie2e.ClusterctlUpgradeSpecInp
163163

164164
yamlProc := yaml.NewSimpleProcessor()
165165

166-
latestVersionString := "v1.5.2"
166+
latestVersionString := "v1.6.1"
167167
latestVersion, err := semver.ParseTolerant(latestVersionString)
168168
Expect(err).NotTo(HaveOccurred())
169169

test/e2e/config/nutanix.yaml

Lines changed: 23 additions & 65 deletions
Original file line numberDiff line numberDiff line change
@@ -13,36 +13,20 @@ images:
1313
loadBehavior: mustLoad
1414
# ## PLEASE KEEP THESE UP TO DATE WITH THE COMPONENTS
1515
# Cluster API v1beta1 Preloads
16-
- name: registry.k8s.io/cluster-api/cluster-api-controller:v1.7.6
16+
- name: registry.k8s.io/cluster-api/cluster-api-controller:v1.9.9
1717
loadBehavior: tryLoad
18-
- name: registry.k8s.io/cluster-api/kubeadm-bootstrap-controller:v1.7.6
18+
- name: registry.k8s.io/cluster-api/kubeadm-bootstrap-controller:v1.9.9
1919
loadBehavior: tryLoad
20-
- name: registry.k8s.io/cluster-api/kubeadm-control-plane-controller:v1.7.6
21-
loadBehavior: tryLoad
22-
- name: registry.k8s.io/cluster-api/cluster-api-controller:v1.8.3
23-
loadBehavior: tryLoad
24-
- name: registry.k8s.io/cluster-api/kubeadm-bootstrap-controller:v1.8.3
25-
loadBehavior: tryLoad
26-
- name: registry.k8s.io/cluster-api/kubeadm-control-plane-controller:v1.8.3
20+
- name: registry.k8s.io/cluster-api/kubeadm-control-plane-controller:v1.9.9
2721
loadBehavior: tryLoad
2822

2923
providers:
3024
- name: cluster-api
3125
type: CoreProvider
3226
versions:
33-
- name: v1.7.6
34-
# Use manifest from source files
35-
value: "https://github.com/kubernetes-sigs/cluster-api/releases/download/v1.7.6/core-components.yaml"
36-
type: "url"
37-
contract: v1beta1
38-
files:
39-
- sourcePath: "../data/shared/metadata.yaml"
40-
replacements:
41-
- old: "imagePullPolicy: Always"
42-
new: "imagePullPolicy: IfNotPresent"
43-
- name: v1.8.3
27+
- name: v1.9.9
4428
# Use manifest from source files
45-
value: "https://github.com/kubernetes-sigs/cluster-api/releases/download/v1.8.3/core-components.yaml"
29+
value: "https://github.com/kubernetes-sigs/cluster-api/releases/download/v1.9.9/core-components.yaml"
4630
type: "url"
4731
contract: v1beta1
4832
files:
@@ -53,19 +37,9 @@ providers:
5337
- name: kubeadm
5438
type: BootstrapProvider
5539
versions:
56-
- name: v1.7.6
40+
- name: v1.9.9
5741
# Use manifest from source files
58-
value: "https://github.com/kubernetes-sigs/cluster-api/releases/download/v1.7.6/bootstrap-components.yaml"
59-
type: "url"
60-
contract: "v1beta1"
61-
files:
62-
- sourcePath: "../data/shared/metadata.yaml"
63-
replacements:
64-
- old: "imagePullPolicy: Always"
65-
new: "imagePullPolicy: IfNotPresent"
66-
- name: v1.8.3
67-
# Use manifest from source files
68-
value: "https://github.com/kubernetes-sigs/cluster-api/releases/download/v1.8.3/bootstrap-components.yaml"
42+
value: "https://github.com/kubernetes-sigs/cluster-api/releases/download/v1.9.9/bootstrap-components.yaml"
6943
type: "url"
7044
contract: "v1beta1"
7145
files:
@@ -76,19 +50,9 @@ providers:
7650
- name: kubeadm
7751
type: ControlPlaneProvider
7852
versions:
79-
- name: v1.7.6
80-
# Use manifest from source files
81-
value: "https://github.com/kubernetes-sigs/cluster-api/releases/download/v1.7.6/control-plane-components.yaml"
82-
type: "url"
83-
contract: v1beta1
84-
files:
85-
- sourcePath: "../data/shared/metadata.yaml"
86-
replacements:
87-
- old: "imagePullPolicy: Always"
88-
new: "imagePullPolicy: IfNotPresent"
89-
- name: v1.8.3
53+
- name: v1.9.9
9054
# Use manifest from source files
91-
value: "https://github.com/kubernetes-sigs/cluster-api/releases/download/v1.8.3/control-plane-components.yaml"
55+
value: "https://github.com/kubernetes-sigs/cluster-api/releases/download/v1.9.9/control-plane-components.yaml"
9256
type: "url"
9357
contract: v1beta1
9458
files:
@@ -99,13 +63,13 @@ providers:
9963
- name: nutanix
10064
type: InfrastructureProvider
10165
versions:
102-
- name: v1.5.2
66+
- name: v1.6.1
10367
type: url
104-
value: https://github.com/nutanix-cloud-native/cluster-api-provider-nutanix/releases/download/v1.5.2/infrastructure-components.yaml
68+
value: https://github.com/nutanix-cloud-native/cluster-api-provider-nutanix/releases/download/v1.6.1/infrastructure-components.yaml
10569
contract: v1beta1
10670
files:
10771
- sourcePath: "../../../metadata.yaml"
108-
- sourcePath: "../data/infrastructure-nutanix/v1.5.2/cluster-template.yaml"
72+
- sourcePath: "../data/infrastructure-nutanix/v1.6.1/cluster-template.yaml"
10973
- sourcePath: "../data/infrastructure-nutanix/ccm-update.yaml"
11074
- name: ${LOCAL_PROVIDER_VERSION}
11175
type: kustomize
@@ -142,7 +106,7 @@ variables:
142106
# allowing the same e2e config file to be re-used in different Prow jobs e.g. each one with a K8s version permutation.
143107
# The following Kubernetes versions should be the latest versions with already published kindest/node images.
144108
# This avoids building node images in the default case which improves the test duration significantly.
145-
KUBERNETES_VERSION_MANAGEMENT: "v1.31.0"
109+
KUBERNETES_VERSION_MANAGEMENT: "v1.32.0"
146110
IP_FAMILY: "IPv4"
147111
CLUSTERCTL_LOG_LEVEL: 10
148112
CLUSTER_TOPOLOGY: "true"
@@ -156,24 +120,18 @@ variables:
156120
IMAGE_LOOKUP_FORMAT: "\"{{.BaseOS}}-kube-v{{.K8sVersion}}.*\""
157121
NUTANIX_INSECURE: true
158122
NUTANIX_ADDITIONAL_TRUST_BUNDLE: ""
159-
KUBERNETES_VERSION: "v1.31.0"
160-
KUBERNETES_VERSION_v1_28: "v1.28.13"
161-
KUBERNETES_VERSION_v1_29: "v1.29.8"
162-
KUBERNETES_VERSION_v1_30: "v1.30.4"
123+
KUBERNETES_VERSION: "v1.32.0"
163124
NUTANIX_SSH_AUTHORIZED_KEY: ""
164125
CONTROL_PLANE_ENDPOINT_IP: ""
165126
CONTROL_PLANE_ENDPOINT_IP_V124: ""
166127
CONTROL_PLANE_MACHINE_COUNT: 1
167128
WORKER_MACHINE_COUNT: 1
168129
NUTANIX_PRISM_ELEMENT_CLUSTER_NAME: ""
169-
NUTANIX_MACHINE_TEMPLATE_IMAGE_NAME: "rockylinux-9-kube-v1.31.0.qcow2"
170-
NUTANIX_MACHINE_TEMPLATE_IMAGE_NAME_v1_28: "rockylinux-9-kube-v1.28.13.qcow2"
171-
NUTANIX_MACHINE_TEMPLATE_IMAGE_NAME_v1_29: "rockylinux-9-kube-v1.29.8.qcow2"
172-
NUTANIX_MACHINE_TEMPLATE_IMAGE_NAME_v1_30: "rockylinux-9-kube-v1.30.4.qcow2"
130+
NUTANIX_MACHINE_TEMPLATE_IMAGE_NAME: "rockylinux-9-kube-v1.32.0.qcow2"
173131
CONTROL_PLANE_MACHINE_TEMPLATE_UPGRADE_TO: "cluster-upgrade-conformance"
174132
WORKERS_MACHINE_TEMPLATE_UPGRADE_TO: "cluster-upgrade-conformance"
175-
NUTANIX_MACHINE_TEMPLATE_IMAGE_UPGRADE_TO: "rockylinux-9-kube-v1.31.0.qcow2"
176-
NUTANIX_MACHINE_TEMPLATE_IMAGE_UPGRADE_FROM: "rockylinux-9-kube-v1.30.4.qcow2"
133+
NUTANIX_MACHINE_TEMPLATE_IMAGE_UPGRADE_TO: "rockylinux-9-kube-v1.32.0.qcow2"
134+
NUTANIX_MACHINE_TEMPLATE_IMAGE_UPGRADE_FROM: "rockylinux-9-kube-v1.31.0.qcow2"
177135
NUTANIX_SUBNET_NAME: ""
178136
# NOTE: 'NUTANIX_ADDITIONAL_SUBNET_NAME' is required for multi network interface e2e tests
179137
NUTANIX_ADDITIONAL_SUBNET_NAME: ""
@@ -187,10 +145,10 @@ variables:
187145
EXP_CLUSTER_RESOURCE_SET: "true"
188146
EXP_CLUSTER_TOPOLOGY: "true"
189147
DOCKER_POD_CIDRS: "192.168.0.0/16"
190-
KUBERNETES_VERSION_UPGRADE_TO: "v1.31.0"
191-
KUBERNETES_VERSION_UPGRADE_FROM: "v1.30.4"
192-
ETCD_VERSION_UPGRADE_TO: "3.5.12-0"
193-
COREDNS_VERSION_UPGRADE_TO: "v1.11.1"
148+
KUBERNETES_VERSION_UPGRADE_TO: "v1.32.0"
149+
KUBERNETES_VERSION_UPGRADE_FROM: "v1.31.0"
150+
ETCD_VERSION_UPGRADE_TO: "3.5.15-0"
151+
COREDNS_VERSION_UPGRADE_TO: "v1.11.3"
194152
KUBETEST_CONFIGURATION: "./data/kubetest/conformance.yaml"
195153
# NOTE: Following parameters are required for CSI flavor testing
196154
WEBHOOK_CA: ""
@@ -213,8 +171,8 @@ variables:
213171
# NOTE: INIT_WITH_BINARY and INIT_WITH_KUBERNETES_VERSION are only used by the clusterctl upgrade test to initialize
214172
# the management cluster to be upgraded.
215173
# NOTE: We test the latest release with a previous contract.
216-
INIT_WITH_BINARY: "https://github.com/kubernetes-sigs/cluster-api/releases/download/v1.7.6/clusterctl-{OS}-{ARCH}"
217-
INIT_WITH_KUBERNETES_VERSION: "v1.30.4"
174+
INIT_WITH_BINARY: "https://github.com/kubernetes-sigs/cluster-api/releases/download/v1.9.9/clusterctl-{OS}-{ARCH}"
175+
INIT_WITH_KUBERNETES_VERSION: "v1.32.0"
218176

219177
intervals:
220178
default/wait-controllers: ["3m", "10s"]

test/e2e/csi_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ import (
3535
"sigs.k8s.io/controller-runtime/pkg/client"
3636
)
3737

38-
var _ = Describe("Nutanix flavor CSI", Label("nutanix-feature-test", "csi"), func() {
38+
var _ = Describe("Nutanix flavor CSI", Label("nutanix-storage-test", "csi"), func() {
3939
const (
4040
specName = "cluster-csi"
4141

test/e2e/data/infrastructure-nutanix/v1.5.2/base/cni-patch.yaml renamed to test/e2e/data/infrastructure-nutanix/v1.6.1/base/cni-patch.yaml

File renamed without changes.

test/e2e/data/infrastructure-nutanix/v1.5.2/base/controlplane-vip.yaml renamed to test/e2e/data/infrastructure-nutanix/v1.6.1/base/controlplane-vip.yaml

File renamed without changes.

test/e2e/data/infrastructure-nutanix/v1.5.2/base/crs.yaml renamed to test/e2e/data/infrastructure-nutanix/v1.6.1/base/crs.yaml

File renamed without changes.

0 commit comments

Comments
 (0)