summaryrefslogtreecommitdiffstats
path: root/lcm/ns/vnfs/create_vnfs.py
diff options
context:
space:
mode:
authorying.yunlong <ying.yunlong@zte.com.cn>2017-09-27 15:51:12 +0800
committerying.yunlong <ying.yunlong@zte.com.cn>2017-09-27 15:51:12 +0800
commit6abf69cd449c083eeb7d33b72de81e13682c3941 (patch)
treee5a01557c4ad5bd5478b028b72144339be361952 /lcm/ns/vnfs/create_vnfs.py
parent841223af12a9db964e9b6d5684b36f71567198b6 (diff)
Add query vnf package from vfc-nfvo-catalog
Change-Id: Id082d2cf14fa091d90d217ecde60cbca7c8dd948 Issue-ID: VFC-465 Signed-off-by: ying.yunlong <ying.yunlong@zte.com.cn>
Diffstat (limited to 'lcm/ns/vnfs/create_vnfs.py')
-rw-r--r--lcm/ns/vnfs/create_vnfs.py23
1 files changed, 11 insertions, 12 deletions
diff --git a/lcm/ns/vnfs/create_vnfs.py b/lcm/ns/vnfs/create_vnfs.py
index 7a17a4b5..0a23ad5b 100644
--- a/lcm/ns/vnfs/create_vnfs.py
+++ b/lcm/ns/vnfs/create_vnfs.py
@@ -26,6 +26,7 @@ from lcm.pub.exceptions import NSLCMException
from lcm.pub.msapi.aai import create_vnf_aai, create_vserver_aai
from lcm.pub.msapi.extsys import get_vnfm_by_id, split_vim_to_owner_region, get_vim_by_id
from lcm.pub.msapi.resmgr import create_vnf, create_vnf_creation_info
+from lcm.pub.msapi.sdc_run_catalog import query_vnfpackage_by_id
from lcm.pub.msapi.vnfmdriver import send_nf_init_request
from lcm.pub.utils.jobutil import JOB_MODEL_STATUS, JobUtil, JOB_TYPE
from lcm.pub.utils.share_lock import do_biz_with_share_lock
@@ -127,12 +128,9 @@ class CreateVnfs(Thread):
raise NSLCMException('Can not found vnf in nsd model')
def check_nf_package_valid(self):
- nf_package_info = NfPackageModel.objects.filter(vnfdid=self.vnfd_id)
- if not nf_package_info:
- logger.info('NF package not exist.')
- raise NSLCMException('NF package not exist.')
- self.nf_package_info = nf_package_info[0]
- self.vnfd_model = json.loads(self.nf_package_info.vnfdmodel)
+ nf_package_info = query_vnfpackage_by_id(self.vnfd_id)
+ self.nf_package_info = nf_package_info["packageInfo"]
+ self.vnfd_model = ignore_case_get(self.nf_package_info, "vnfdModel")
def get_virtual_link_info(self, vnf_id):
virtual_link_list, ext_virtual_link = [], []
@@ -179,7 +177,7 @@ class CreateVnfs(Thread):
virtual_link_list, ext_virtual_link = self.get_virtual_link_info(self.vnf_id)
req_param = json.JSONEncoder().encode({
'vnfInstanceName': self.vnf_inst_name,
- 'vnfPackageId': self.nf_package_info.nfpackageid,
+ 'vnfPackageId': ignore_case_get(self.nf_package_info, "vnfPackageId"),
'vnfDescriptorId': self.vnfd_id,
'extVirtualLink': ext_virtual_link,
'additionalParam': {"inputs": self.inputs,
@@ -193,11 +191,11 @@ class CreateVnfs(Thread):
mnfinstid=self.vnfm_nf_inst_id,
nf_name=self.vnf_inst_name,
vnf_id=self.vnf_id,
- package_id=self.nf_package_info.nfpackageid,
+ package_id=ignore_case_get(self.nf_package_info, "vnfPackageId"),
vnfm_inst_id=self.vnfm_inst_id,
ns_inst_id=self.ns_inst_id,
- version=self.nf_package_info.vnfversion,
- vendor=self.nf_package_info.vendor,
+ version=ignore_case_get(self.nf_package_info, "vnfdVersion"),
+ vendor=ignore_case_get(self.nf_package_info, "vnfdProvider"),
vnfd_model=self.vnfd_model,
input_params=json.JSONEncoder().encode(self.inputs),
lastuptime=now_time())
@@ -207,7 +205,7 @@ class CreateVnfs(Thread):
self.vnfm_inst_name = ignore_case_get(resp_body, 'name')
def send_create_vnf_request_to_resmgr(self):
- pkg_vnfd = json.loads(self.nf_package_info.vnfdmodel)
+ pkg_vnfd = self.vnfd_model
data = {
'nf_inst_id': self.nf_inst_id,
'vnfm_nf_inst_id': self.vnfm_nf_inst_id,
@@ -222,7 +220,8 @@ class CreateVnfs(Thread):
'job_id': self.job_id,
'nf_inst_status': VNF_STATUS.INSTANTIATING,
'vnf_type': pkg_vnfd['metadata'].get('vnf_type', 'undefined'),
- 'nf_package_id': self.nf_package_info.nfpackageid}
+ 'nf_package_id': ignore_case_get(self.nf_package_info, "vnfPackageId")
+ }
create_vnf(data)
def wait_vnfm_job_finish(self):