Fix INF-342 refactor deploymentManager profile data 66/9566/2
authorZhang Rong(Jon) <rong.zhang@windriver.com>
Thu, 10 Nov 2022 08:01:50 +0000 (16:01 +0800)
committerZhang Rong(Jon) <rong.zhang@windriver.com>
Thu, 10 Nov 2022 09:02:41 +0000 (17:02 +0800)
Issue-ID: INF-342
Signed-off-by: Zhang Rong(Jon) <rong.zhang@windriver.com>
Change-Id: Iffb0d868c6182238c8cfe2124e55985922198fab

o2ims/views/ocloud_dto.py
o2ims/views/ocloud_view.py
tests/unit/test_ocloud.py

index 478a513..2bc836d 100644 (file)
@@ -177,6 +177,11 @@ class DeploymentManagerDTO:
         'helmcli_kubeconfig': fields.String(attribute='helmcli_kubeconfig'),
     })
 
+    extensions = api_ims_inventory_v1.model("DeploymentManagerExtensions", {
+        'profileName': fields.String,
+        'profileData': fields.Nested(profile, False, True),
+    })
+
     deployment_manager_get = api_ims_inventory_v1.model(
         "DeploymentManagerGetDto",
         {
@@ -192,12 +197,10 @@ class DeploymentManagerDTO:
             # 'supportedLocations': fields.String,
             # 'capabilities': fields.String,
             # 'capacity': fields.String,
-            'profileName': fields.String,
-            'profileData': fields.Nested(profile, False, True),
-            'extensions': fields.String
+            'extensions': fields.Nested(extensions, True, True)
         },
         mask='{deploymentManagerId,name,description,oCloudId,serviceUri,' +\
-        'profileName,profileData}'
+        'extensions/profileName,extensions/profileData}'
     )
 
 
index 215c917..51ee9c1 100644 (file)
@@ -140,16 +140,18 @@ def deployment_manager_one(deploymentManagerId: str,
             return None
 
     profile_data = result.pop("profile", None)
-    result['profileName'] = profile
     profiles = config.get_dms_support_profiles()
     if profile not in profiles:
         return ""
 
+    extensions = {
+        'profileName': profile
+    }
     if ocloud.DeploymentManagerProfileDefault == profile \
             or ocloud.DeploymentManagerProfileSOL018 == profile:
         result['serviceUri'] = \
             profile_data['cluster_api_endpoint']
-        result['profileData'] = profile_data
+        extensions['profileData'] = profile_data
     elif ocloud.DeploymentManagerProfileSOL018HelmCLI == profile:
         result['serviceUri'] = \
             profile_data['cluster_api_endpoint']
@@ -160,10 +162,11 @@ def deployment_manager_one(deploymentManagerId: str,
             config.get_helmcli_access()
         helmcli_profile["helmcli_kubeconfig"] = _gen_kube_config(
             deploymentManagerId, profile_data)
-        result['profileData'] = helmcli_profile
+        extensions['profileData'] = helmcli_profile
     else:
         return ""
 
+    result['extensions'] = extensions
     return result
 
 
index 13a7d42..1b0942e 100644 (file)
@@ -324,7 +324,7 @@ def test_view_deployment_manager_one(mock_uow):
         deployment_manager_id1, uow, profile=profileName)
     assert str(deployment_manager_res.get(
         'serviceUri')) == cluster_endpoint
-    assert str(deployment_manager_res.get(
+    assert str(deployment_manager_res.get("extensions").get(
         "profileName")) == profileName
 
     # profile wrong name