Skip to content

Commit b32ba95

Browse files
test: upgrade kubernetes versions to 1.25.0/1.26.0 (#7685)
* test: upgrade versions to 1.25.0/1.26.0 * PR7685: move settings to test_data.py
1 parent fa58f59 commit b32ba95

File tree

3 files changed

+39
-20
lines changed

3 files changed

+39
-20
lines changed

test/integration/smoke/test_kubernetes_clusters.py

Lines changed: 22 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,9 @@ def setUpClass(cls):
8787
cls.kubernetes_version_ids = []
8888
cls.vpcAllowAllAclDetailsMap = {}
8989

90+
cls.k8s_version_from = cls.services["cks_kubernetes_version_upgrade_from"]
91+
cls.k8s_version_to = cls.services["cks_kubernetes_version_upgrade_to"]
92+
9093
if cls.hypervisorNotSupported == False:
9194
cls.endpoint_url = Configurations.list(cls.apiclient, name="endpoint.url")[0].value
9295
if "localhost" in cls.endpoint_url:
@@ -105,20 +108,20 @@ def setUpClass(cls):
105108

106109
if cls.setup_failed == False:
107110
try:
108-
cls.kubernetes_version_1_23_3 = cls.addKubernetesSupportedVersion(cls.services["cks_kubernetes_versions"]["1.23.3"])
109-
cls.kubernetes_version_ids.append(cls.kubernetes_version_1_23_3.id)
111+
cls.kubernetes_version_v1 = cls.addKubernetesSupportedVersion(cls.services["cks_kubernetes_versions"][cls.k8s_version_from])
112+
cls.kubernetes_version_ids.append(cls.kubernetes_version_v1.id)
110113
except Exception as e:
111114
cls.setup_failed = True
112115
cls.debug("Failed to get Kubernetes version ISO in ready state, version=%s, url=%s, %s" %
113-
(cls.services["cks_kubernetes_versions"]["1.23.3"]["semanticversion"], cls.services["cks_kubernetes_versions"]["1.23.3"]["url"], e))
116+
(cls.services["cks_kubernetes_versions"][cls.k8s_version_from]["semanticversion"], cls.services["cks_kubernetes_versions"][cls.k8s_version_from]["url"], e))
114117
if cls.setup_failed == False:
115118
try:
116-
cls.kubernetes_version_1_24_0 = cls.addKubernetesSupportedVersion(cls.services["cks_kubernetes_versions"]["1.24.0"])
117-
cls.kubernetes_version_ids.append(cls.kubernetes_version_1_24_0.id)
119+
cls.kubernetes_version_v2 = cls.addKubernetesSupportedVersion(cls.services["cks_kubernetes_versions"][cls.k8s_version_to])
120+
cls.kubernetes_version_ids.append(cls.kubernetes_version_v2.id)
118121
except Exception as e:
119122
cls.setup_failed = True
120123
cls.debug("Failed to get Kubernetes version ISO in ready state, version=%s, url=%s, %s" %
121-
(cls.services["cks_kubernetes_versions"]["1.24.0"]["semanticversion"], cls.services["cks_kubernetes_versions"]["1.24.0"]["url"], e))
124+
(cls.services["cks_kubernetes_versions"][cls.k8s_version_to]["semanticversion"], cls.services["cks_kubernetes_versions"][cls.k8s_version_to]["url"], e))
122125

123126
if cls.setup_failed == False:
124127
cks_offering_data = cls.services["cks_service_offering"]
@@ -366,20 +369,20 @@ def test_01_invalid_upgrade_kubernetes_cluster(self):
366369
if self.setup_failed == True:
367370
self.fail("Setup incomplete")
368371
global k8s_cluster
369-
k8s_cluster = self.getValidKubernetesCluster(version=self.kubernetes_version_1_24_0)
372+
k8s_cluster = self.getValidKubernetesCluster(version=self.kubernetes_version_v2)
370373

371374
self.debug("Downgrading Kubernetes cluster with ID: %s to a lower version. This should fail!" % k8s_cluster.id)
372375

373376
try:
374-
k8s_cluster = self.upgradeKubernetesCluster(k8s_cluster.id, self.kubernetes_version_1_23_3.id)
375-
self.debug("Invalid CKS Kubernetes HA cluster deployed with ID: %s. Deleting it and failing test." % self.kubernetes_version_1_23_3.id)
377+
k8s_cluster = self.upgradeKubernetesCluster(k8s_cluster.id, self.kubernetes_version_v1.id)
378+
self.debug("Invalid CKS Kubernetes HA cluster deployed with ID: %s. Deleting it and failing test." % self.kubernetes_version_v1.id)
376379
self.deleteKubernetesClusterAndVerify(k8s_cluster.id, False, True)
377380
self.fail("Kubernetes cluster downgrade to a lower Kubernetes supported version. Must be an error.")
378381
except Exception as e:
379382
self.debug("Upgrading Kubernetes cluster with invalid Kubernetes supported version check successful, API failure: %s" % e)
380383
self.deleteKubernetesClusterAndVerify(k8s_cluster.id, False, True)
381384

382-
self.verifyKubernetesClusterUpgrade(k8s_cluster, self.kubernetes_version_1_24_0.id)
385+
self.verifyKubernetesClusterUpgrade(k8s_cluster, self.kubernetes_version_v2.id)
383386
return
384387

385388
@attr(tags=["advanced", "smoke"], required_hardware="true")
@@ -393,17 +396,17 @@ def test_02_upgrade_kubernetes_cluster(self):
393396
if self.setup_failed == True:
394397
self.fail("Setup incomplete")
395398
global k8s_cluster
396-
k8s_cluster = self.getValidKubernetesCluster(version=self.kubernetes_version_1_23_3)
399+
k8s_cluster = self.getValidKubernetesCluster(version=self.kubernetes_version_v1)
397400

398401
time.sleep(self.services["sleep"])
399402
self.debug("Upgrading Kubernetes cluster with ID: %s" % k8s_cluster.id)
400403
try:
401-
k8s_cluster = self.upgradeKubernetesCluster(k8s_cluster.id, self.kubernetes_version_1_24_0.id)
404+
k8s_cluster = self.upgradeKubernetesCluster(k8s_cluster.id, self.kubernetes_version_v2.id)
402405
except Exception as e:
403406
self.deleteKubernetesClusterAndVerify(k8s_cluster.id, False, True)
404407
self.fail("Failed to upgrade Kubernetes cluster due to: %s" % e)
405408

406-
self.verifyKubernetesClusterUpgrade(k8s_cluster, self.kubernetes_version_1_24_0.id)
409+
self.verifyKubernetesClusterUpgrade(k8s_cluster, self.kubernetes_version_v2.id)
407410
return
408411

409412
@attr(tags=["advanced", "smoke"], required_hardware="true")
@@ -451,7 +454,7 @@ def test_04_autoscale_kubernetes_cluster(self):
451454
if self.setup_failed == True:
452455
self.fail("Setup incomplete")
453456
global k8s_cluster
454-
k8s_cluster = self.getValidKubernetesCluster(version=self.kubernetes_version_1_24_0)
457+
k8s_cluster = self.getValidKubernetesCluster(version=self.kubernetes_version_v2)
455458

456459
self.debug("Autoscaling Kubernetes cluster with ID: %s" % k8s_cluster.id)
457460
try:
@@ -551,17 +554,17 @@ def test_08_upgrade_kubernetes_ha_cluster(self):
551554
if self.default_network:
552555
self.skipTest("HA cluster on shared network requires external ip address, skipping it")
553556
global k8s_cluster
554-
k8s_cluster = self.getValidKubernetesCluster(1, 2, version=self.kubernetes_version_1_23_3)
557+
k8s_cluster = self.getValidKubernetesCluster(1, 2, version=self.kubernetes_version_v1)
555558
time.sleep(self.services["sleep"])
556559

557560
self.debug("Upgrading HA Kubernetes cluster with ID: %s" % k8s_cluster.id)
558561
try:
559-
k8s_cluster = self.upgradeKubernetesCluster(k8s_cluster.id, self.kubernetes_version_1_24_0.id)
562+
k8s_cluster = self.upgradeKubernetesCluster(k8s_cluster.id, self.kubernetes_version_v2.id)
560563
except Exception as e:
561564
self.deleteKubernetesClusterAndVerify(k8s_cluster.id, False, True)
562565
self.fail("Failed to upgrade Kubernetes HA cluster due to: %s" % e)
563566

564-
self.verifyKubernetesClusterUpgrade(k8s_cluster, self.kubernetes_version_1_24_0.id)
567+
self.verifyKubernetesClusterUpgrade(k8s_cluster, self.kubernetes_version_v2.id)
565568
self.debug("Kubernetes cluster with ID: %s successfully upgraded" % k8s_cluster.id)
566569
return
567570

@@ -693,7 +696,7 @@ def getValidKubernetesCluster(self, size=1, control_nodes=1, version={}):
693696
# Does a cluster already exist ?
694697
if cluster == None or cluster.id == None:
695698
if not version:
696-
version = self.kubernetes_version_1_24_0
699+
version = self.kubernetes_version_v2
697700
self.debug("No existing cluster available, k8s_cluster: %s" % cluster)
698701
return self.createNewKubernetesCluster(version, size, control_nodes)
699702

@@ -703,7 +706,7 @@ def getValidKubernetesCluster(self, size=1, control_nodes=1, version={}):
703706
# Check the version only if specified
704707
valid = valid and cluster.kubernetesversionid == version.id
705708
else:
706-
version = self.kubernetes_version_1_24_0
709+
version = self.kubernetes_version_v2
707710

708711
if valid:
709712
cluster_id = cluster.id

test/integration/smoke/test_kubernetes_supported_versions.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,8 @@ def setUpClass(cls):
4545
cls.services = cls.testClient.getParsedTestDataConfig()
4646
cls.zone = get_zone(cls.apiclient, cls.testClient.getZoneForTests())
4747
cls.mgtSvrDetails = cls.config.__dict__["mgtSvr"][0].__dict__
48-
cls.kubernetes_version_iso_url = 'http://download.cloudstack.org/cks/setup-1.24.0.iso'
48+
cls.kubernetes_version = cls.services["cks_kubernetes_version"]
49+
cls.kubernetes_version_iso_url = cls.services["cks_kubernetes_versions"][cls.kubernetes_version]["url"]
4950

5051
cls.initial_configuration_cks_enabled = Configurations.list(cls.apiclient,
5152
name="cloud.kubernetes.service.enabled")[0].value

tools/marvin/marvin/config/test_data.py

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2248,8 +2248,23 @@
22482248
"url": "http://download.cloudstack.org/cks/setup-1.24.0.iso",
22492249
"mincpunumber": 2,
22502250
"minmemory": 2048
2251+
},
2252+
"1.25.0": {
2253+
"semanticversion": "1.25.0",
2254+
"url": "http://download.cloudstack.org/cks/setup-1.25.0.iso",
2255+
"mincpunumber": 2,
2256+
"minmemory": 2048
2257+
},
2258+
"1.26.0": {
2259+
"semanticversion": "1.26.0",
2260+
"url": "http://download.cloudstack.org/cks/setup-1.26.0.iso",
2261+
"mincpunumber": 2,
2262+
"minmemory": 2048
22512263
}
22522264
},
2265+
"cks_kubernetes_version": "1.26.0",
2266+
"cks_kubernetes_version_upgrade_from": "1.25.0",
2267+
"cks_kubernetes_version_upgrade_to": "1.26.0",
22532268
"cks_service_offering": {
22542269
"name": "CKS-Instance",
22552270
"displaytext": "CKS Instance",

0 commit comments

Comments
 (0)