Change in vnflcm 87/60687/3
authorbiancunkang <bian.cunkang@zte.com.cn>
Wed, 15 Aug 2018 07:37:30 +0000 (15:37 +0800)
committerbiancunkang <bian.cunkang@zte.com.cn>
Wed, 15 Aug 2018 08:04:27 +0000 (16:04 +0800)
Seperate grant_vnf.py from terminate_vnf.py

Change-Id: I006ebeb8a2989a7df0d15146240b020a6ce1a23d
Issue-ID: VFC-1015
Signed-off-by: biancunkang <bian.cunkang@zte.com.cn>
lcm/lcm/nf/biz/grant_vnf.py [new file with mode: 0644]
lcm/lcm/nf/biz/terminate_vnf.py

diff --git a/lcm/lcm/nf/biz/grant_vnf.py b/lcm/lcm/nf/biz/grant_vnf.py
new file mode 100644 (file)
index 0000000..cbfa88b
--- /dev/null
@@ -0,0 +1,52 @@
+# Copyright 2018 ZTE Corporation.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#         http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+import json
+import logging
+
+from lcm.pub.database.models import NfInstModel, VmInstModel
+from lcm.pub.msapi.gvnfmdriver import apply_grant_to_nfvo
+
+logger = logging.getLogger(__name__)
+
+
+def grant_resource(nf_inst_id, job_id):
+    logger.info("Grant resource begin")
+    content_args = {
+        'vnfInstanceId': nf_inst_id,
+        'vnfDescriptorId': '',
+        'lifecycleOperation': 'Terminate',
+        'vnfLcmOpOccId': job_id,
+        'addResource': [],
+        'removeResource': [],
+        'placementConstraint': [],
+        'additionalParam': {}
+    }
+
+    vdus = VmInstModel.objects.filter(instid=nf_inst_id, is_predefined=1)
+    res_index = 1
+    for vdu in vdus:
+        res_def = {
+            'type': 'VDU',
+            'resDefId': str(res_index),
+            'resDesId': vdu.resouceid}
+        content_args['removeResource'].append(res_def)
+        res_index += 1
+
+    vnfInsts = NfInstModel.objects.filter(nfinstid=nf_inst_id)
+    content_args['additionalParam']['vnfmid'] = vnfInsts[0].vnfminstid
+    content_args['additionalParam']['vimid'] = vdus[0].vimid
+    logger.info('Grant request data=%s' % content_args)
+    apply_result = apply_grant_to_nfvo(json.dumps(content_args))
+    logger.info("Grant resource end, response: %s" % apply_result)
index 1fc0506..c0caf51 100644 (file)
@@ -21,11 +21,12 @@ from lcm.nf.const import VNF_STATUS, RESOURCE_MAP
 from lcm.pub.database.models import NfInstModel, VmInstModel, NetworkInstModel, StorageInstModel, \
     PortInstModel, VNFCInstModel, FlavourInstModel, SubNetworkInstModel
 from lcm.pub.exceptions import NFLCMException
-from lcm.pub.msapi.gvnfmdriver import apply_grant_to_nfvo, notify_lcm_to_nfvo
+from lcm.pub.msapi.gvnfmdriver import notify_lcm_to_nfvo
 from lcm.pub.utils.jobutil import JobUtil
 from lcm.pub.utils.timeutil import now_time
 from lcm.pub.utils.values import ignore_case_get
 from lcm.pub.vimapi import adaptor
+from lcm.nf.biz.grant_vnf import grant_resource
 
 logger = logging.getLogger(__name__)
 
@@ -43,7 +44,8 @@ class TerminateVnf(Thread):
     def run(self):
         try:
             if self.term_pre():
-                self.grant_resource()
+                grant_resource(nf_inst_id=self.nf_inst_id, job_id=self.job_id)
+                JobUtil.add_job_status(self.job_id, 20, 'Nf terminating grant_resource finish')
                 self.query_inst_resource()
                 self.query_notify_data()
                 self.delete_resource()
@@ -68,37 +70,6 @@ class TerminateVnf(Thread):
         logger.info("Nf terminating pre-check finish")
         return True
 
-    def grant_resource(self):
-        logger.info("Grant resource begin")
-        content_args = {
-            'vnfInstanceId': self.nf_inst_id,
-            'vnfDescriptorId': '',
-            'lifecycleOperation': 'Terminate',
-            'vnfLcmOpOccId': self.job_id,
-            'addResource': [],
-            'removeResource': [],
-            'placementConstraint': [],
-            'additionalParam': {}
-        }
-
-        vdus = VmInstModel.objects.filter(instid=self.nf_inst_id, is_predefined=1)
-        res_index = 1
-        for vdu in vdus:
-            res_def = {
-                'type': 'VDU',
-                'resDefId': str(res_index),
-                'resDesId': vdu.resouceid}
-            content_args['removeResource'].append(res_def)
-            res_index += 1
-
-        vnfInsts = NfInstModel.objects.filter(nfinstid=self.nf_inst_id)
-        content_args['additionalParam']['vnfmid'] = vnfInsts[0].vnfminstid
-        content_args['additionalParam']['vimid'] = vdus[0].vimid
-        logger.info('Grant request data=%s' % content_args)
-        self.apply_result = apply_grant_to_nfvo(json.dumps(content_args))
-        logger.info("Grant resource end, response: %s" % self.apply_result)
-        JobUtil.add_job_status(self.job_id, 20, 'Nf terminating grant_resource finish')
-
     def query_inst_resource(self):
         logger.info('Query resource begin')
         for resource_type in RESOURCE_MAP.keys():