Fix set of cluster resource group for VIMs that do not support RG 59/15159/4
authorgarciadeblas <gerardo.garciadeblas@telefonica.com>
Tue, 8 Apr 2025 10:41:31 +0000 (12:41 +0200)
committergarciadeblas <gerardo.garciadeblas@telefonica.com>
Wed, 23 Apr 2025 09:31:46 +0000 (11:31 +0200)
Change-Id: Ie3c26719531b6b81a86dc0b2422d2bd08b92ea64
Signed-off-by: garciadeblas <gerardo.garciadeblas@telefonica.com>
osm_nbi/k8s_topics.py

index fab9e6c..6898498 100644 (file)
@@ -224,28 +224,16 @@ class ClusterTopic(ACMTopic):
             raise type(e)("{} while '{}'".format(e, step), http_code=e.http_code)
 
     def _create_cluster(self, cls_request, rollback, session, indata, kwargs, headers):
-        # Check whether the region name and resource group have been given
-        region_given = "region_name" in indata
-        resource_group_given = "resource_group" in indata
-
         # Get the vim_account details
         vim_account_details = self.db.get_one(
             "vim_accounts", {"name": cls_request["vim_account"]}
         )
 
         # Check whether the region name and resource group have been given
-        if not region_given and not resource_group_given:
-            region_name = vim_account_details["config"]["region_name"]
-            resource_group = vim_account_details["config"]["resource_group"]
-        elif region_given and not resource_group_given:
+        if "region_name" in indata:
             region_name = cls_request["region_name"]
-            resource_group = vim_account_details["config"]["resource_group"]
-        elif not region_given and resource_group_given:
-            region_name = vim_account_details["config"]["region_name"]
-            resource_group = cls_request["resource_group"]
         else:
-            region_name = cls_request["region_name"]
-            resource_group = cls_request["resource_group"]
+            region_name = vim_account_details["config"].get("region_name")
 
         cls_desc = {
             "name": cls_request["name"],
@@ -255,7 +243,6 @@ class ClusterTopic(ACMTopic):
             "node_count": cls_request["node_count"],
             "bootstrap": cls_request["bootstrap"],
             "region_name": region_name,
-            "resource_group": resource_group,
             "infra_controller_profiles": [
                 self._create_default_profiles(
                     rollback, session, indata, kwargs, headers, self.infra_contr_topic
@@ -283,6 +270,12 @@ class ClusterTopic(ACMTopic):
             "resourceState": "IN_PROGRESS.REQUEST_RECEIVED",
         }
         # Add optional fields if they exist in the request
+        if "resource_group" in indata:
+            resource_group = cls_request["resource_group"]
+        else:
+            resource_group = vim_account_details["config"].get("resource_group")
+        if resource_group:
+            cls_desc["resource_group"] = resource_group
         if "description" in cls_request:
             cls_desc["description"] = cls_request["description"]
         return cls_desc