diff --git a/test/integration/smoke/test_kubernetes_clusters.py b/test/integration/smoke/test_kubernetes_clusters.py index c227e7fbfa7..e53f71871d8 100644 --- a/test/integration/smoke/test_kubernetes_clusters.py +++ b/test/integration/smoke/test_kubernetes_clusters.py @@ -87,6 +87,9 @@ class TestKubernetesCluster(cloudstackTestCase): cls.kubernetes_version_ids = [] cls.vpcAllowAllAclDetailsMap = {} + cls.k8s_version_from = cls.services["cks_kubernetes_version_upgrade_from"] + cls.k8s_version_to = cls.services["cks_kubernetes_version_upgrade_to"] + if cls.hypervisorNotSupported == False: cls.endpoint_url = Configurations.list(cls.apiclient, name="endpoint.url")[0].value if "localhost" in cls.endpoint_url: @@ -105,20 +108,20 @@ class TestKubernetesCluster(cloudstackTestCase): if cls.setup_failed == False: try: - cls.kubernetes_version_1_23_3 = cls.addKubernetesSupportedVersion(cls.services["cks_kubernetes_versions"]["1.23.3"]) - cls.kubernetes_version_ids.append(cls.kubernetes_version_1_23_3.id) + cls.kubernetes_version_v1 = cls.addKubernetesSupportedVersion(cls.services["cks_kubernetes_versions"][cls.k8s_version_from]) + cls.kubernetes_version_ids.append(cls.kubernetes_version_v1.id) except Exception as e: cls.setup_failed = True cls.debug("Failed to get Kubernetes version ISO in ready state, version=%s, url=%s, %s" % - (cls.services["cks_kubernetes_versions"]["1.23.3"]["semanticversion"], cls.services["cks_kubernetes_versions"]["1.23.3"]["url"], e)) + (cls.services["cks_kubernetes_versions"][cls.k8s_version_from]["semanticversion"], cls.services["cks_kubernetes_versions"][cls.k8s_version_from]["url"], e)) if cls.setup_failed == False: try: - cls.kubernetes_version_1_24_0 = cls.addKubernetesSupportedVersion(cls.services["cks_kubernetes_versions"]["1.24.0"]) - cls.kubernetes_version_ids.append(cls.kubernetes_version_1_24_0.id) + cls.kubernetes_version_v2 = cls.addKubernetesSupportedVersion(cls.services["cks_kubernetes_versions"][cls.k8s_version_to]) + cls.kubernetes_version_ids.append(cls.kubernetes_version_v2.id) except Exception as e: cls.setup_failed = True cls.debug("Failed to get Kubernetes version ISO in ready state, version=%s, url=%s, %s" % - (cls.services["cks_kubernetes_versions"]["1.24.0"]["semanticversion"], cls.services["cks_kubernetes_versions"]["1.24.0"]["url"], e)) + (cls.services["cks_kubernetes_versions"][cls.k8s_version_to]["semanticversion"], cls.services["cks_kubernetes_versions"][cls.k8s_version_to]["url"], e)) if cls.setup_failed == False: cks_offering_data = cls.services["cks_service_offering"] @@ -366,20 +369,20 @@ class TestKubernetesCluster(cloudstackTestCase): if self.setup_failed == True: self.fail("Setup incomplete") global k8s_cluster - k8s_cluster = self.getValidKubernetesCluster(version=self.kubernetes_version_1_24_0) + k8s_cluster = self.getValidKubernetesCluster(version=self.kubernetes_version_v2) self.debug("Downgrading Kubernetes cluster with ID: %s to a lower version. This should fail!" % k8s_cluster.id) try: - k8s_cluster = self.upgradeKubernetesCluster(k8s_cluster.id, self.kubernetes_version_1_23_3.id) - self.debug("Invalid CKS Kubernetes HA cluster deployed with ID: %s. Deleting it and failing test." % self.kubernetes_version_1_23_3.id) + k8s_cluster = self.upgradeKubernetesCluster(k8s_cluster.id, self.kubernetes_version_v1.id) + self.debug("Invalid CKS Kubernetes HA cluster deployed with ID: %s. Deleting it and failing test." % self.kubernetes_version_v1.id) self.deleteKubernetesClusterAndVerify(k8s_cluster.id, False, True) self.fail("Kubernetes cluster downgrade to a lower Kubernetes supported version. Must be an error.") except Exception as e: self.debug("Upgrading Kubernetes cluster with invalid Kubernetes supported version check successful, API failure: %s" % e) self.deleteKubernetesClusterAndVerify(k8s_cluster.id, False, True) - self.verifyKubernetesClusterUpgrade(k8s_cluster, self.kubernetes_version_1_24_0.id) + self.verifyKubernetesClusterUpgrade(k8s_cluster, self.kubernetes_version_v2.id) return @attr(tags=["advanced", "smoke"], required_hardware="true") @@ -393,17 +396,17 @@ class TestKubernetesCluster(cloudstackTestCase): if self.setup_failed == True: self.fail("Setup incomplete") global k8s_cluster - k8s_cluster = self.getValidKubernetesCluster(version=self.kubernetes_version_1_23_3) + k8s_cluster = self.getValidKubernetesCluster(version=self.kubernetes_version_v1) time.sleep(self.services["sleep"]) self.debug("Upgrading Kubernetes cluster with ID: %s" % k8s_cluster.id) try: - k8s_cluster = self.upgradeKubernetesCluster(k8s_cluster.id, self.kubernetes_version_1_24_0.id) + k8s_cluster = self.upgradeKubernetesCluster(k8s_cluster.id, self.kubernetes_version_v2.id) except Exception as e: self.deleteKubernetesClusterAndVerify(k8s_cluster.id, False, True) self.fail("Failed to upgrade Kubernetes cluster due to: %s" % e) - self.verifyKubernetesClusterUpgrade(k8s_cluster, self.kubernetes_version_1_24_0.id) + self.verifyKubernetesClusterUpgrade(k8s_cluster, self.kubernetes_version_v2.id) return @attr(tags=["advanced", "smoke"], required_hardware="true") @@ -451,7 +454,7 @@ class TestKubernetesCluster(cloudstackTestCase): if self.setup_failed == True: self.fail("Setup incomplete") global k8s_cluster - k8s_cluster = self.getValidKubernetesCluster(version=self.kubernetes_version_1_24_0) + k8s_cluster = self.getValidKubernetesCluster(version=self.kubernetes_version_v2) self.debug("Autoscaling Kubernetes cluster with ID: %s" % k8s_cluster.id) try: @@ -551,17 +554,17 @@ class TestKubernetesCluster(cloudstackTestCase): if self.default_network: self.skipTest("HA cluster on shared network requires external ip address, skipping it") global k8s_cluster - k8s_cluster = self.getValidKubernetesCluster(1, 2, version=self.kubernetes_version_1_23_3) + k8s_cluster = self.getValidKubernetesCluster(1, 2, version=self.kubernetes_version_v1) time.sleep(self.services["sleep"]) self.debug("Upgrading HA Kubernetes cluster with ID: %s" % k8s_cluster.id) try: - k8s_cluster = self.upgradeKubernetesCluster(k8s_cluster.id, self.kubernetes_version_1_24_0.id) + k8s_cluster = self.upgradeKubernetesCluster(k8s_cluster.id, self.kubernetes_version_v2.id) except Exception as e: self.deleteKubernetesClusterAndVerify(k8s_cluster.id, False, True) self.fail("Failed to upgrade Kubernetes HA cluster due to: %s" % e) - self.verifyKubernetesClusterUpgrade(k8s_cluster, self.kubernetes_version_1_24_0.id) + self.verifyKubernetesClusterUpgrade(k8s_cluster, self.kubernetes_version_v2.id) self.debug("Kubernetes cluster with ID: %s successfully upgraded" % k8s_cluster.id) return @@ -693,7 +696,7 @@ class TestKubernetesCluster(cloudstackTestCase): # Does a cluster already exist ? if cluster == None or cluster.id == None: if not version: - version = self.kubernetes_version_1_24_0 + version = self.kubernetes_version_v2 self.debug("No existing cluster available, k8s_cluster: %s" % cluster) return self.createNewKubernetesCluster(version, size, control_nodes) @@ -703,7 +706,7 @@ class TestKubernetesCluster(cloudstackTestCase): # Check the version only if specified valid = valid and cluster.kubernetesversionid == version.id else: - version = self.kubernetes_version_1_24_0 + version = self.kubernetes_version_v2 if valid: cluster_id = cluster.id diff --git a/test/integration/smoke/test_kubernetes_supported_versions.py b/test/integration/smoke/test_kubernetes_supported_versions.py index 229fff9d9aa..6acf7f24dcf 100644 --- a/test/integration/smoke/test_kubernetes_supported_versions.py +++ b/test/integration/smoke/test_kubernetes_supported_versions.py @@ -45,7 +45,8 @@ class TestKubernetesSupportedVersion(cloudstackTestCase): cls.services = cls.testClient.getParsedTestDataConfig() cls.zone = get_zone(cls.apiclient, cls.testClient.getZoneForTests()) cls.mgtSvrDetails = cls.config.__dict__["mgtSvr"][0].__dict__ - cls.kubernetes_version_iso_url = 'http://download.cloudstack.org/cks/setup-1.24.0.iso' + cls.kubernetes_version = cls.services["cks_kubernetes_version"] + cls.kubernetes_version_iso_url = cls.services["cks_kubernetes_versions"][cls.kubernetes_version]["url"] cls.initial_configuration_cks_enabled = Configurations.list(cls.apiclient, name="cloud.kubernetes.service.enabled")[0].value diff --git a/tools/marvin/marvin/config/test_data.py b/tools/marvin/marvin/config/test_data.py index 3a88d08574c..c4ac6008b1f 100644 --- a/tools/marvin/marvin/config/test_data.py +++ b/tools/marvin/marvin/config/test_data.py @@ -2248,8 +2248,23 @@ test_data = { "url": "http://download.cloudstack.org/cks/setup-1.24.0.iso", "mincpunumber": 2, "minmemory": 2048 + }, + "1.25.0": { + "semanticversion": "1.25.0", + "url": "http://download.cloudstack.org/cks/setup-1.25.0.iso", + "mincpunumber": 2, + "minmemory": 2048 + }, + "1.26.0": { + "semanticversion": "1.26.0", + "url": "http://download.cloudstack.org/cks/setup-1.26.0.iso", + "mincpunumber": 2, + "minmemory": 2048 } }, + "cks_kubernetes_version": "1.26.0", + "cks_kubernetes_version_upgrade_from": "1.25.0", + "cks_kubernetes_version_upgrade_to": "1.26.0", "cks_service_offering": { "name": "CKS-Instance", "displaytext": "CKS Instance",