Deal with gvnfm adapter stuffs. 45/60645/2
authorlaili <lai.li@zte.com.cn>
Wed, 15 Aug 2018 02:00:21 +0000 (10:00 +0800)
committerlaili <lai.li@zte.com.cn>
Wed, 15 Aug 2018 02:10:18 +0000 (10:10 +0800)
Modify VnfQueryInfo.

Change-Id: Ia48b88bf611f36295d343c9900b49094a08cfa8a
Issue-ID: VFC-1020
Signed-off-by: laili <lai.li@zte.com.cn>
gvnfmadapter/driver/interfaces/tests.py
gvnfmadapter/driver/interfaces/views.py

index 21a83b2..29cb918 100644 (file)
@@ -142,7 +142,7 @@ class InterfacesTest(TestCase):
         }
         job_info = {
             "ResponseInfo": {
-                "vnfInstanceId": "88",
+                "id": "88",
                 "instantiationState": "INSTANTIATED",
                 "vnfSoftwareVersion": "v1.2.3"
             }
index 3fd11f9..50e8d36 100644 (file)
@@ -53,7 +53,7 @@ class VnfInstInfo(APIView):
                 raise Exception(requestSerializer.errors)
 
             # requestData = requestSerializer.data
-           requestData = request.data
+            requestData = request.data
             input_data = {
                 "vnfdId": ignorcase_get(requestData, "vnfDescriptorId"),
                 "vnfInstanceName": ignorcase_get(requestData, "vnfInstanceName"),
@@ -163,15 +163,22 @@ class VnfQueryInfo(APIView):
                 "vnfType": "",
                 "vnfStatus": ""
             }
-            resp_response_data = mapping_conv(query_vnf_resp_mapping, ignorcase_get(resp, "ResponseInfo"))
+            ResponseInfo = ignorcase_get(resp, "ResponseInfo")
+            resp_response_data = mapping_conv(query_vnf_resp_mapping, ResponseInfo)
             resp_data = {
                 "vnfInfo": resp_response_data
             }
-            ResponseInfo = ignorcase_get(resp, "ResponseInfo")
-            resp_data["vnfInfo"]["version"] = ignorcase_get(ResponseInfo, "vnfSoftwareVersion")
+            id = ignorcase_get(ResponseInfo, "id")
+            if id:
+                resp_data["vnfInfo"]["vnfInstanceId"] = id
+            vnfPkgId = ignorcase_get(ResponseInfo, "vnfPkgId")
+            if vnfPkgId:
+                resp_data["vnfInfo"]["vnfPackageId"] = vnfPkgId
+            vnfSoftwareVersion = ignorcase_get(ResponseInfo, "vnfSoftwareVersion")
+            if vnfSoftwareVersion:
+                resp_data["vnfInfo"]["version"] = vnfSoftwareVersion
             if ignorcase_get(ResponseInfo, "instantiationState") == "INSTANTIATED":
                 resp_data["vnfInfo"]["vnfStatus"] = "ACTIVE"
-            resp_data["vnfInfo"]["vnfInstanceId"] = ignorcase_get(ResponseInfo, "vnfInstanceId")
             logger.debug("[%s]resp_data=%s", fun_name(), resp_data)
             return Response(data=resp_data, status=status.HTTP_200_OK)
         except GvnfmDriverException as e:
@@ -320,11 +327,13 @@ def call_vnfm(resource, method, vnfm_info, data=""):
 def mapping_conv(keyword_map, rest_return):
     resp_data = {}
     for param in keyword_map:
-        if keyword_map[param]:
-            if isinstance(keyword_map[param], dict):
-                resp_data[param] = mapping_conv(keyword_map[param], ignorcase_get(rest_return, param))
-            else:
-                resp_data[param] = ignorcase_get(rest_return, param)
+        # if keyword_map[param]:
+        if isinstance(keyword_map[param], dict):
+            resp_data[param] = mapping_conv(keyword_map[param], ignorcase_get(rest_return, param))
+        else:
+            value = ignorcase_get(rest_return, param)
+            if value:
+                resp_data[param] = value
     return resp_data