mirror of
https://github.com/apache/cloudstack.git
synced 2025-10-26 08:42:29 +01:00
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
This commit is contained in:
parent
fa58f59619
commit
b32ba953cf
@ -87,6 +87,9 @@ class TestKubernetesCluster(cloudstackTestCase):
|
|||||||
cls.kubernetes_version_ids = []
|
cls.kubernetes_version_ids = []
|
||||||
cls.vpcAllowAllAclDetailsMap = {}
|
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:
|
if cls.hypervisorNotSupported == False:
|
||||||
cls.endpoint_url = Configurations.list(cls.apiclient, name="endpoint.url")[0].value
|
cls.endpoint_url = Configurations.list(cls.apiclient, name="endpoint.url")[0].value
|
||||||
if "localhost" in cls.endpoint_url:
|
if "localhost" in cls.endpoint_url:
|
||||||
@ -105,20 +108,20 @@ class TestKubernetesCluster(cloudstackTestCase):
|
|||||||
|
|
||||||
if cls.setup_failed == False:
|
if cls.setup_failed == False:
|
||||||
try:
|
try:
|
||||||
cls.kubernetes_version_1_23_3 = cls.addKubernetesSupportedVersion(cls.services["cks_kubernetes_versions"]["1.23.3"])
|
cls.kubernetes_version_v1 = cls.addKubernetesSupportedVersion(cls.services["cks_kubernetes_versions"][cls.k8s_version_from])
|
||||||
cls.kubernetes_version_ids.append(cls.kubernetes_version_1_23_3.id)
|
cls.kubernetes_version_ids.append(cls.kubernetes_version_v1.id)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
cls.setup_failed = True
|
cls.setup_failed = True
|
||||||
cls.debug("Failed to get Kubernetes version ISO in ready state, version=%s, url=%s, %s" %
|
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:
|
if cls.setup_failed == False:
|
||||||
try:
|
try:
|
||||||
cls.kubernetes_version_1_24_0 = cls.addKubernetesSupportedVersion(cls.services["cks_kubernetes_versions"]["1.24.0"])
|
cls.kubernetes_version_v2 = cls.addKubernetesSupportedVersion(cls.services["cks_kubernetes_versions"][cls.k8s_version_to])
|
||||||
cls.kubernetes_version_ids.append(cls.kubernetes_version_1_24_0.id)
|
cls.kubernetes_version_ids.append(cls.kubernetes_version_v2.id)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
cls.setup_failed = True
|
cls.setup_failed = True
|
||||||
cls.debug("Failed to get Kubernetes version ISO in ready state, version=%s, url=%s, %s" %
|
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:
|
if cls.setup_failed == False:
|
||||||
cks_offering_data = cls.services["cks_service_offering"]
|
cks_offering_data = cls.services["cks_service_offering"]
|
||||||
@ -366,20 +369,20 @@ class TestKubernetesCluster(cloudstackTestCase):
|
|||||||
if self.setup_failed == True:
|
if self.setup_failed == True:
|
||||||
self.fail("Setup incomplete")
|
self.fail("Setup incomplete")
|
||||||
global k8s_cluster
|
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)
|
self.debug("Downgrading Kubernetes cluster with ID: %s to a lower version. This should fail!" % k8s_cluster.id)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
k8s_cluster = self.upgradeKubernetesCluster(k8s_cluster.id, 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_1_23_3.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.deleteKubernetesClusterAndVerify(k8s_cluster.id, False, True)
|
||||||
self.fail("Kubernetes cluster downgrade to a lower Kubernetes supported version. Must be an error.")
|
self.fail("Kubernetes cluster downgrade to a lower Kubernetes supported version. Must be an error.")
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
self.debug("Upgrading Kubernetes cluster with invalid Kubernetes supported version check successful, API failure: %s" % 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.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
|
return
|
||||||
|
|
||||||
@attr(tags=["advanced", "smoke"], required_hardware="true")
|
@attr(tags=["advanced", "smoke"], required_hardware="true")
|
||||||
@ -393,17 +396,17 @@ class TestKubernetesCluster(cloudstackTestCase):
|
|||||||
if self.setup_failed == True:
|
if self.setup_failed == True:
|
||||||
self.fail("Setup incomplete")
|
self.fail("Setup incomplete")
|
||||||
global k8s_cluster
|
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"])
|
time.sleep(self.services["sleep"])
|
||||||
self.debug("Upgrading Kubernetes cluster with ID: %s" % k8s_cluster.id)
|
self.debug("Upgrading Kubernetes cluster with ID: %s" % k8s_cluster.id)
|
||||||
try:
|
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:
|
except Exception as e:
|
||||||
self.deleteKubernetesClusterAndVerify(k8s_cluster.id, False, True)
|
self.deleteKubernetesClusterAndVerify(k8s_cluster.id, False, True)
|
||||||
self.fail("Failed to upgrade Kubernetes cluster due to: %s" % e)
|
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
|
return
|
||||||
|
|
||||||
@attr(tags=["advanced", "smoke"], required_hardware="true")
|
@attr(tags=["advanced", "smoke"], required_hardware="true")
|
||||||
@ -451,7 +454,7 @@ class TestKubernetesCluster(cloudstackTestCase):
|
|||||||
if self.setup_failed == True:
|
if self.setup_failed == True:
|
||||||
self.fail("Setup incomplete")
|
self.fail("Setup incomplete")
|
||||||
global k8s_cluster
|
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)
|
self.debug("Autoscaling Kubernetes cluster with ID: %s" % k8s_cluster.id)
|
||||||
try:
|
try:
|
||||||
@ -551,17 +554,17 @@ class TestKubernetesCluster(cloudstackTestCase):
|
|||||||
if self.default_network:
|
if self.default_network:
|
||||||
self.skipTest("HA cluster on shared network requires external ip address, skipping it")
|
self.skipTest("HA cluster on shared network requires external ip address, skipping it")
|
||||||
global k8s_cluster
|
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"])
|
time.sleep(self.services["sleep"])
|
||||||
|
|
||||||
self.debug("Upgrading HA Kubernetes cluster with ID: %s" % k8s_cluster.id)
|
self.debug("Upgrading HA Kubernetes cluster with ID: %s" % k8s_cluster.id)
|
||||||
try:
|
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:
|
except Exception as e:
|
||||||
self.deleteKubernetesClusterAndVerify(k8s_cluster.id, False, True)
|
self.deleteKubernetesClusterAndVerify(k8s_cluster.id, False, True)
|
||||||
self.fail("Failed to upgrade Kubernetes HA cluster due to: %s" % e)
|
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)
|
self.debug("Kubernetes cluster with ID: %s successfully upgraded" % k8s_cluster.id)
|
||||||
return
|
return
|
||||||
|
|
||||||
@ -693,7 +696,7 @@ class TestKubernetesCluster(cloudstackTestCase):
|
|||||||
# Does a cluster already exist ?
|
# Does a cluster already exist ?
|
||||||
if cluster == None or cluster.id == None:
|
if cluster == None or cluster.id == None:
|
||||||
if not version:
|
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)
|
self.debug("No existing cluster available, k8s_cluster: %s" % cluster)
|
||||||
return self.createNewKubernetesCluster(version, size, control_nodes)
|
return self.createNewKubernetesCluster(version, size, control_nodes)
|
||||||
|
|
||||||
@ -703,7 +706,7 @@ class TestKubernetesCluster(cloudstackTestCase):
|
|||||||
# Check the version only if specified
|
# Check the version only if specified
|
||||||
valid = valid and cluster.kubernetesversionid == version.id
|
valid = valid and cluster.kubernetesversionid == version.id
|
||||||
else:
|
else:
|
||||||
version = self.kubernetes_version_1_24_0
|
version = self.kubernetes_version_v2
|
||||||
|
|
||||||
if valid:
|
if valid:
|
||||||
cluster_id = cluster.id
|
cluster_id = cluster.id
|
||||||
|
|||||||
@ -45,7 +45,8 @@ class TestKubernetesSupportedVersion(cloudstackTestCase):
|
|||||||
cls.services = cls.testClient.getParsedTestDataConfig()
|
cls.services = cls.testClient.getParsedTestDataConfig()
|
||||||
cls.zone = get_zone(cls.apiclient, cls.testClient.getZoneForTests())
|
cls.zone = get_zone(cls.apiclient, cls.testClient.getZoneForTests())
|
||||||
cls.mgtSvrDetails = cls.config.__dict__["mgtSvr"][0].__dict__
|
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,
|
cls.initial_configuration_cks_enabled = Configurations.list(cls.apiclient,
|
||||||
name="cloud.kubernetes.service.enabled")[0].value
|
name="cloud.kubernetes.service.enabled")[0].value
|
||||||
|
|||||||
@ -2248,8 +2248,23 @@ test_data = {
|
|||||||
"url": "http://download.cloudstack.org/cks/setup-1.24.0.iso",
|
"url": "http://download.cloudstack.org/cks/setup-1.24.0.iso",
|
||||||
"mincpunumber": 2,
|
"mincpunumber": 2,
|
||||||
"minmemory": 2048
|
"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": {
|
"cks_service_offering": {
|
||||||
"name": "CKS-Instance",
|
"name": "CKS-Instance",
|
||||||
"displaytext": "CKS Instance",
|
"displaytext": "CKS Instance",
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user