Change in VnfGrantInfo 75/60675/1
authorbiancunkang <bian.cunkang@zte.com.cn>
Wed, 15 Aug 2018 07:08:16 +0000 (15:08 +0800)
committerbiancunkang <bian.cunkang@zte.com.cn>
Wed, 15 Aug 2018 07:08:16 +0000 (15:08 +0800)
Modify url and response in VnfGrantInfo

Change-Id: I2c9979af559c6dae7f7e6a96023589625b614eee
Issue-ID: VFC-1015
Signed-off-by: biancunkang <bian.cunkang@zte.com.cn>
gvnfmadapter/driver/interfaces/tests.py
gvnfmadapter/driver/interfaces/views.py

index 9dece6a..4f57096 100644 (file)
@@ -228,40 +228,90 @@ class InterfacesTest(TestCase):
 
     @mock.patch.object(restcall, 'call_req')
     def test_grantvnf(self, mock_call_req):
-        vim_info = {
-            "vim": {
-                "accessinfo": {
-                    "tenant": "admin"
+        data = {
+            "vnfInstanceId": "1",
+            "vnfLcmOpOccId": "2",
+            "vnfdId": "3",
+            "flavourId": "4",
+            "operation": "INSTANTIATE",
+            "isAutomaticInvocation": True,
+            "instantiationLevelId": "5",
+            "addResources": [
+                {
+                    "id": "1",
+                    "type": "COMPUTE",
+                    "vduId": "2",
+                    "resourceTemplateId": "3",
+                    "resourceTemplate": {
+                        "vimConnectionId": "4",
+                        "resourceProviderId": "5",
+                        "resourceId": "6",
+                        "vimLevelResourceType": "7"
+                    }
+                }
+            ],
+            "placementConstraints": [
+                {
+                    "affinityOrAntiAffinity": "AFFINITY",
+                    "scope": "NFVI_POP",
+                    "resource": [
+                        {
+                            "idType": "RES_MGMT",
+                            "resourceId": "1",
+                            "vimConnectionId": "2",
+                            "resourceProviderId": "3"
+                        }
+                    ]
+                }
+            ],
+            "vimConstraints": [
+                {
+                    "sameResourceGroup": True,
+                    "resource": [
+                        {
+                            "idType": "RES_MGMT",
+                            "resourceId": "1",
+                            "vimConnectionId": "2",
+                            "resourceProviderId": "3"
+                        }
+                    ]
+                }
+            ],
+            "additionalParams": {},
+            "_links": {
+                "vnfLcmOpOcc": {
+                    "href": "1"
                 },
-                "vimid": "516cee95-e8ca-4d26-9268-38e343c2e31e"
+                "vnfInstance": {
+                    "href": "2"
+                }
             }
         }
-        req_data = {
-            "vnfmid": "13232222",
-            "nfvoid": "03212234",
-            "vimid": "12345678",
-            "exvimidlist ": "exvimid",
-            "tenant": " tenant1",
-            "vnfinstanceid": "1234",
-            "operationright": "0",
-            "vmlist": [
-                {
-                    "vmflavor": "SMP",
-                    "vmnumber": "3"
-                },
+        grant_resp_data = {
+            "id": "1",
+            "vnfInstanceId": "1",
+            "vnfLcmOpOccId": "2",
+            "vimConnections": [
                 {
-                    "vmflavor": "CMP",
-                    "vmnumber": "3"
+                    "id": "1",
+                    "vimId": "1"
                 }
             ]
         }
-        mock_call_req.return_value = [0, json.JSONEncoder().encode(vim_info), '201']
+        mock_call_req.return_value = [0, json.JSONEncoder().encode(grant_resp_data), '201']
         response = self.client.put("/api/gvnfmdriver/v1/resource/grant",
-                                   data=json.dumps(req_data), content_type='application/json')
+                                   data=json.dumps(data), content_type='application/json')
         self.assertEqual(status.HTTP_201_CREATED, response.status_code)
         expect_resp_data = {
-            "vimid": "516cee95-e8ca-4d26-9268-38e343c2e31e",
-            "tenant": "admin"
+            "id": "1",
+            "vnfInstanceId": "1",
+            "vnfLcmOpOccId": "2",
+            "vimConnections": [
+                {
+                    "id": "1",
+                    "vimId": "1"
+                }
+            ]
         }
         self.assertDictEqual(expect_resp_data, response.data)
 
index b2eab99..ae40bb6 100644 (file)
@@ -244,20 +244,14 @@ class VnfGrantInfo(APIView):
     def put(self, request, vnfmtype):
         try:
             logger.debug("[grantvnf] req_data = %s", request.data)
-            ret = req_by_msb('api/nslcm/v1/grantvnf', "POST", content=json.JSONEncoder().encode(request.data))
+            ret = req_by_msb('api/nslcm/v2/grants', "POST", content=json.JSONEncoder().encode(request.data))
             logger.debug("ret = %s", ret)
             if ret[0] != 0:
                 logger.error("Status code is %s, detail is %s.", ret[2], ret[1])
                 raise GvnfmDriverException('Failed to grant vnf.')
             resp = json.JSONDecoder().decode(ret[1])
-            vim_info = resp['vim']
-            accessinfo = ignorcase_get(resp['vim'], 'accessinfo')
-            resp_data = {
-                'vimid': ignorcase_get(vim_info, 'vimid'),
-                'tenant': ignorcase_get(accessinfo, 'tenant')
-            }
-            logger.debug("[%s]resp_data=%s", fun_name(), resp_data)
-            return Response(data=resp_data, status=status.HTTP_201_CREATED)
+            logger.debug("[%s]resp_data=%s", fun_name(), resp)
+            return Response(data=resp, status=status.HTTP_201_CREATED)
         except GvnfmDriverException as e:
             logger.error('Grant vnf failed, detail message: %s' % e.message)
             return Response(data={'error': e.message}, status=status.HTTP_500_INTERNAL_SERVER_ERROR)