cks: upgrade k8s to 1.23.3/1.24.0 in smoke test (#6388)

This commit is contained in:
Wei Zhou 2022-05-17 16:19:37 +02:00 committed by GitHub
parent b15c202ee5
commit e15abfc3d5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 32 additions and 20 deletions

View File

@ -94,20 +94,20 @@ class TestKubernetesCluster(cloudstackTestCase):
if cls.setup_failed == False:
try:
cls.kubernetes_version_1_20_9 = cls.addKubernetesSupportedVersion(cls.services["cks_kubernetes_versions"]["1.20.9"])
cls.kubernetes_version_ids.append(cls.kubernetes_version_1_20_9.id)
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)
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.20.9"]["semanticversion"], cls.services["cks_kubernetes_versions"]["1.20.9"]["url"], e))
(cls.services["cks_kubernetes_versions"]["1.23.3"]["semanticversion"], cls.services["cks_kubernetes_versions"]["1.23.3"]["url"], e))
if cls.setup_failed == False:
try:
cls.kubernetes_version_1_21_5 = cls.addKubernetesSupportedVersion(cls.services["cks_kubernetes_versions"]["1.21.5"])
cls.kubernetes_version_ids.append(cls.kubernetes_version_1_21_5.id)
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)
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.21.5"]["semanticversion"], cls.services["cks_kubernetes_versions"]["1.21.5"]["url"], e))
(cls.services["cks_kubernetes_versions"]["1.24.0"]["semanticversion"], cls.services["cks_kubernetes_versions"]["1.24.0"]["url"], e))
if cls.setup_failed == False:
cks_offering_data = cls.services["cks_service_offering"]
@ -359,20 +359,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_21_5)
k8s_cluster = self.getValidKubernetesCluster(version=self.kubernetes_version_1_24_0)
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_20_9.id)
self.debug("Invalid CKS Kubernetes HA cluster deployed with ID: %s. Deleting it and failing test." % self.kubernetes_version_1_20_9.id)
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)
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_21_5.id)
self.verifyKubernetesClusterUpgrade(k8s_cluster, self.kubernetes_version_1_24_0.id)
return
@attr(tags=["advanced", "smoke"], required_hardware="true")
@ -386,17 +386,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_20_9)
k8s_cluster = self.getValidKubernetesCluster(version=self.kubernetes_version_1_23_3)
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_21_5.id)
k8s_cluster = self.upgradeKubernetesCluster(k8s_cluster.id, self.kubernetes_version_1_24_0.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_21_5.id)
self.verifyKubernetesClusterUpgrade(k8s_cluster, self.kubernetes_version_1_24_0.id)
return
@attr(tags=["advanced", "smoke"], required_hardware="true")
@ -444,7 +444,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_21_5)
k8s_cluster = self.getValidKubernetesCluster(version=self.kubernetes_version_1_24_0)
self.debug("Autoscaling Kubernetes cluster with ID: %s" % k8s_cluster.id)
try:
@ -544,17 +544,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)
k8s_cluster = self.getValidKubernetesCluster(1, 2, version=self.kubernetes_version_1_23_3)
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_21_5.id)
k8s_cluster = self.upgradeKubernetesCluster(k8s_cluster.id, self.kubernetes_version_1_24_0.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_21_5.id)
self.verifyKubernetesClusterUpgrade(k8s_cluster, self.kubernetes_version_1_24_0.id)
self.debug("Kubernetes cluster with ID: %s successfully upgraded" % k8s_cluster.id)
return
@ -659,7 +659,7 @@ class TestKubernetesCluster(cloudstackTestCase):
# Does a cluster already exist ?
if cluster == None or cluster.id == None:
if not version:
version = self.kubernetes_version_1_20_9
version = self.kubernetes_version_1_24_0
self.debug("No existing cluster available, k8s_cluster: %s" % cluster)
return self.createNewKubernetesCluster(version, size, control_nodes)
@ -669,7 +669,7 @@ class TestKubernetesCluster(cloudstackTestCase):
# Check the version only if specified
valid = valid and cluster.kubernetesversionid == version.id
else:
version = self.kubernetes_version_1_20_9
version = self.kubernetes_version_1_24_0
if valid:
cluster_id = cluster.id

View File

@ -45,7 +45,7 @@ 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.16.3.iso'
cls.kubernetes_version_iso_url = 'http://download.cloudstack.org/cks/setup-1.24.0.iso'
cls.initial_configuration_cks_enabled = Configurations.list(cls.apiclient,
name="cloud.kubernetes.service.enabled")[0].value

View File

@ -2075,6 +2075,18 @@ test_data = {
"url": "http://download.cloudstack.org/cks/setup-1.16.3.iso",
"mincpunumber": 2,
"minmemory": 2048
},
"1.23.3": {
"semanticversion": "1.23.3",
"url": "http://download.cloudstack.org/cks/setup-1.23.3.iso",
"mincpunumber": 2,
"minmemory": 2048
},
"1.24.0": {
"semanticversion": "1.24.0",
"url": "http://download.cloudstack.org/cks/setup-1.24.0.iso",
"mincpunumber": 2,
"minmemory": 2048
}
},
"cks_service_offering": {