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