summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorfujinhua <fu.jinhua@zte.com.cn>2018-01-09 16:26:17 +0800
committerfujinhua <fu.jinhua@zte.com.cn>2018-01-09 16:41:31 +0800
commit452c3653bd8da86247567761ed77671cd1511373 (patch)
treec43c3860dfee2a43ca1f933afbfb7382d0ec3898
parent5f7eea06b479da52fa15d020b0cb738ed09da641 (diff)
Refactor ns get logic of vfc-nfvo-lcm
Change-Id: I5c962dfad3a25e144bbee14be31ee12997db2a96 Issue-ID: VFC-654 Signed-off-by: fujinhua <fu.jinhua@zte.com.cn>
-rw-r--r--lcm/ns/ns_get.py69
1 files changed, 25 insertions, 44 deletions
diff --git a/lcm/ns/ns_get.py b/lcm/ns/ns_get.py
index 9fd4cf16..74470017 100644
--- a/lcm/ns/ns_get.py
+++ b/lcm/ns/ns_get.py
@@ -50,62 +50,43 @@ class GetNSInfoService(object):
@staticmethod
def get_vnf_infos(ns_inst_id):
- ns_inst_infos = NfInstModel.objects.filter(ns_inst_id=ns_inst_id)
- vnf_info_list = []
- for info in ns_inst_infos:
- vnf_info = {
- 'vnfInstanceId': info.nfinstid,
- 'vnfInstanceName': info.nf_name,
- 'vnfProfileId': info.vnf_id}
- vnf_info_list.append(vnf_info)
- return vnf_info_list
+ vnfs = NfInstModel.objects.filter(ns_inst_id=ns_inst_id)
+ return [{
+ 'vnfInstanceId': vnf.nfinstid,
+ 'vnfInstanceName': vnf.nf_name,
+ 'vnfProfileId': vnf.vnf_id} for vnf in vnfs]
def get_vl_infos(self, ns_inst_id):
- vl_inst_infos = VLInstModel.objects.filter(ownertype=OWNER_TYPE.NS, ownerid=ns_inst_id)
- vl_info_list = []
- for info in vl_inst_infos:
- vl_info = {
- 'vlInstanceId': info.vlinstanceid,
- 'vlInstanceName': info.vlinstancename,
- 'vldId': info.vldid,
- 'relatedCpInstanceId': self.get_cp_infos(info.vlinstanceid)}
- vl_info_list.append(vl_info)
- return vl_info_list
+ vls = VLInstModel.objects.filter(ownertype=OWNER_TYPE.NS, ownerid=ns_inst_id)
+ return [{
+ 'vlInstanceId': vl.vlinstanceid,
+ 'vlInstanceName': vl.vlinstancename,
+ 'vldId': vl.vldid,
+ 'relatedCpInstanceId': self.get_cp_infos(vl.vlinstanceid)} for vl in vls]
@staticmethod
def get_cp_infos(vl_inst_id):
- cp_inst_infos = CPInstModel.objects.filter(relatedvl__icontains=vl_inst_id)
- cp_info_list = []
- for info in cp_inst_infos:
- cp_info = {
- 'cpInstanceId': info.cpinstanceid,
- 'cpInstanceName': info.cpname,
- 'cpdId': info.cpdid}
- cp_info_list.append(cp_info)
- return cp_info_list
+ cps = CPInstModel.objects.filter(relatedvl__icontains=vl_inst_id)
+ return [{
+ 'cpInstanceId': cp.cpinstanceid,
+ 'cpInstanceName': cp.cpname,
+ 'cpdId': cp.cpdid} for cp in cps]
def get_vnffg_infos(self, ns_inst_id, nsd_model):
- vnffg_inst_infos = VNFFGInstModel.objects.filter(nsinstid=ns_inst_id)
- vnffg_info_list = []
- for info in vnffg_inst_infos:
- vnffg_info = {
- 'vnffgInstanceId': info.vnffginstid,
- 'vnfId': self.convert_string_to_list(info.vnflist),
- 'pnfId': self.get_pnf_infos(nsd_model),
- 'virtualLinkId': self.convert_string_to_list(info.vllist),
- 'cpId': self.convert_string_to_list(info.cplist),
- 'nfp': self.convert_string_to_list(info.fplist)}
- vnffg_info_list.append(vnffg_info)
- return vnffg_info_list
+ vnffgs = VNFFGInstModel.objects.filter(nsinstid=ns_inst_id)
+ return [{
+ 'vnffgInstanceId': vnffg.vnffginstid,
+ 'vnfId': self.convert_string_to_list(vnffg.vnflist),
+ 'pnfId': self.get_pnf_infos(nsd_model),
+ 'virtualLinkId': self.convert_string_to_list(vnffg.vllist),
+ 'cpId': self.convert_string_to_list(vnffg.cplist),
+ 'nfp': self.convert_string_to_list(vnffg.fplist)} for vnffg in vnffgs]
@staticmethod
def get_pnf_infos(nsd_model):
context = json.loads(nsd_model)
pnfs = context['pnfs']
- pnf_list = []
- for pnf in pnfs:
- pnf_list.append(pnf['pnf_id'])
- return pnf_list
+ return [pnf['pnf_id'] for pnf in pnfs]
@staticmethod
def convert_string_to_list(detail_id_string):