fix grant parameter error 75/72175/1
authormaopengzhang <zhang.maopeng1@zte.com.cn>
Thu, 8 Nov 2018 07:20:43 +0000 (15:20 +0800)
committermaopengzhang <zhang.maopeng1@zte.com.cn>
Thu, 8 Nov 2018 07:20:43 +0000 (15:20 +0800)
fix operate to operation, etc

Change-Id: Id49cf178604a19ead57585dbfa4c89069a2aff9a
Issue-ID: VFC-1158
Signed-off-by: maopengzhang <zhang.maopeng1@zte.com.cn>
lcm/lcm/nf/biz/grant_vnf.py
lcm/lcm/nf/serializers/create_vnf_req.py
lcm/lcm/nf/serializers/instantiate_vnf_request.py

index 92f2235..dd22c06 100644 (file)
@@ -29,23 +29,24 @@ def grant_resource(data, nf_inst_id, job_id, grant_type, vdus):
     content_args = {
         'vnfInstanceId': nf_inst_id,
         'vnfLcmOpOccId': job_id,
-        'vnfdId': None,  # TODO
-        'flavourId': None,  # TODO
-        'operate': grant_type,
+        'vnfdId': None,  # TODO
+        # 'flavourId': "default",  # TODO
+        'operation': grant_type,
         'isAutomaticInvocation': True,  # TODO
-        'instantiationLevelId': None,  # TODO
-        'addResources': [],
-        'tmpResources': [],
-        'updateResources': [],
-        'removeResources': [],
-        'placementConstraints': [],
-        'vimConstraints': [],
-        'additionalParams': {},
-        '_links': None  # TODO
+        'instantiationLevelId': None,  # TODO
+        'addResources': [],
+        'tmpResources': [],
+        'updateResources': [],
+        'removeResources': [],
+        'placementConstraints': [],
+        'vimConstraints': [],
+        # 'additionalParams': {}
+        '_links': None  # TODO
     }
 
     if grant_type == GRANT_TYPE.TERMINATE:
         res_index = 1
+        content_args['removeResources'] = []
         for vdu in vdus:
             res_def = {
                 'id': str(res_index),
@@ -61,41 +62,29 @@ def grant_resource(data, nf_inst_id, job_id, grant_type, vdus):
             }
             content_args['removeResources'].append(res_def)
             res_index += 1
-        content_args['additionalParams']['vimid'] = vdus[0].vimid
+        if vdus[0].vimid:
+            content_args['additionalParams'] = {}
+            content_args['additionalParams']['vimid'] = vdus[0].vimid
     elif grant_type == GRANT_TYPE.INSTANTIATE:
         vim_id = ignore_case_get(ignore_case_get(data, "additionalParams"), "vimId")
         res_index = 1
+        content_args['addResources'] = []
         for vdu in vdus:
             res_def = {
                 'id': str(res_index),
                 'type': 'COMPUTE',
-                'vduId': None,
-                'resourceTemplateId': None,  # TODO: shall be present for the planned creation of new resources.
-                'resource': None
+                # 'vduId': vdu["vdu_id"],
+                'resourceTemplateId': vdu["vdu_id"]  # , None,
+                'resource': None
             }
             content_args['addResources'].append(res_def)
             res_index += 1
-        content_args['additionalParams']['vimid'] = vim_id
-    elif grant_type == GRANT_TYPE.HEAL_RESTART:
-        res_index = 1
-        res_def = {
-            'type': 'VDU',
-            'resDefId': str(res_index),
-            'resDesId': vdus[0].resourceid}
-        content_args['updateResources'].append(res_def)
-        content_args['additionalParams']['vimid'] = vdus[0].vimid
-    elif grant_type == GRANT_TYPE.HEAL_CREATE:
-        vim_id = vdus[0]["properties"]["location_info"]["vimid"]
-        res_index = 1
-        res_def = {
-            'type': 'VDU',
-            'resDefId': str(res_index),
-            'resDesId': ignore_case_get(vdus[0], "vdu_id")
-        }
-        content_args['addResources'].append(res_def)
-        content_args['additionalParams']['vimid'] = vim_id
+        if vim_id:
+            content_args['additionalParams'] = {}
+            content_args['additionalParams']['vimid'] = vim_id
     elif grant_type == GRANT_TYPE.OPERATE:
         res_index = 1
+        content_args['updateResources'] = []
         for vdu in vdus:
             res_def = {
                 'id': str(res_index),
@@ -111,10 +100,14 @@ def grant_resource(data, nf_inst_id, job_id, grant_type, vdus):
             }
             content_args['updateResources'].append(res_def)
             res_index += 1
-        content_args['additionalParams']['vimid'] = vdus[0].vimid
+        if vdus[0].vimid:
+            content_args['additionalParams'] = {}
+            content_args['additionalParams']['vimid'] = vdus[0].vimid
 
     vnfInsts = NfInstModel.objects.filter(nfinstid=nf_inst_id)
-    content_args['additionalParams']['vnfmid'] = vnfInsts[0].vnfminstid
+    if vnfInsts[0].vnfminstid:
+        content_args['additionalParams'] = {}
+        content_args['additionalParams']['vnfmid'] = vnfInsts[0].vnfminstid
     logger.info('Grant request data=%s' % content_args)
     apply_result = apply_grant_to_nfvo(json.dumps(content_args))
     logger.info("apply_result: %s" % apply_result)
index a8fa665..6aba12f 100644 (file)
@@ -30,4 +30,5 @@ class CreateVnfReqSerializer(serializers.Serializer):
         help_text="Human-readable description of the VNF instance to be created.",
         max_length=255,
         required=False,
-        allow_null=True)
+        allow_null=True,
+        allow_blank=True)
index 2c3547d..9290d84 100644 (file)
@@ -53,10 +53,10 @@ class InstantiateVnfRequestSerializer(serializers.Serializer):
         max_length=255,
         required=False,
         allow_null=True)
-    additionalParams = serializers.DictField(
+    additionalParams = serializers.JSONField(
         help_text="Additional input parameters for the instantiation process, \
         specific to the VNF being instantiated, \
         as declared in the VNFD as part of InstantiateVnfOpConfig.",
-        child=serializers.CharField(help_text="KeyValue Pairs", allow_blank=True),
+        child=serializers.CharField(help_text="KeyValue Pairs", allow_blank=True),
         required=False,
         allow_null=True)