summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorfujinhua <fu.jinhua@zte.com.cn>2018-01-09 15:43:47 +0800
committerfujinhua <fu.jinhua@zte.com.cn>2018-01-09 16:10:55 +0800
commit5f7eea06b479da52fa15d020b0cb738ed09da641 (patch)
treeabe0423b6ac28d7ecf6e6e6a842a3e5882d5df37
parente0ed4f97a865118ec8447b0657edc9a93fd5cc2d (diff)
Refactor ns get logic of vfc-nfvo-lcm
Change-Id: I8ebd50363177655fae5609fbfc0c42b6df6e8c0d Issue-ID: VFC-654 Signed-off-by: fujinhua <fu.jinhua@zte.com.cn>
-rw-r--r--lcm/ns/ns_get.py49
1 files changed, 19 insertions, 30 deletions
diff --git a/lcm/ns/ns_get.py b/lcm/ns/ns_get.py
index 030e42c1..9fd4cf16 100644
--- a/lcm/ns/ns_get.py
+++ b/lcm/ns/ns_get.py
@@ -25,39 +25,28 @@ class GetNSInfoService(object):
self.ns_filter = nsfilter
def get_ns_info(self):
- if self.ns_filter:
- if ("ns_inst_id" in self.ns_filter):
- ns_inst_id = self.ns_filter["ns_inst_id"]
- ns_inst_infos = NSInstModel.objects.filter(id=ns_inst_id)
- if ("csarId" in self.ns_filter):
- csar_id = self.ns_filter["csarId"]
- ns_inst_infos = NSInstModel.objects.filter(nsd_id=csar_id)
+ ns_insts = None
+ if self.ns_filter and "ns_inst_id" in self.ns_filter:
+ ns_inst_id = self.ns_filter["ns_inst_id"]
+ ns_insts = NSInstModel.objects.filter(id=ns_inst_id)
+ elif self.ns_filter and "csarId" in self.ns_filter:
+ csar_id = self.ns_filter["csarId"]
+ ns_insts = NSInstModel.objects.filter(nsd_id=csar_id)
else:
- ns_inst_infos = NSInstModel.objects.all()
+ ns_insts = NSInstModel.objects.all()
- ns_info_list = []
- for info in ns_inst_infos:
- ret = self.get_single_ns_info(info.id)
- if not ret:
- continue
- ns_info_list.append(ret)
- return ns_info_list
+ return [self.get_single_ns_info(ns_inst) for ns_inst in ns_insts]
- def get_single_ns_info(self, ns_inst_id):
- ns_insts = NSInstModel.objects.filter(id=ns_inst_id)
- if not ns_insts:
- return None
- ns_inst_info = ns_insts[0]
- ret = {
- 'nsInstanceId': ns_inst_info.id,
- 'nsName': ns_inst_info.name,
- 'description': ns_inst_info.description,
- 'nsdId': ns_inst_info.nsd_id,
- 'vnfInfoId': self.get_vnf_infos(ns_inst_id),
- 'vlInfo': self.get_vl_infos(ns_inst_id),
- 'vnffgInfo': self.get_vnffg_infos(ns_inst_id, ns_inst_info.nsd_model),
- 'nsState': ns_inst_info.status}
- return ret
+ def get_single_ns_info(self, ns_inst):
+ return {
+ 'nsInstanceId': ns_inst.id,
+ 'nsName': ns_inst.name,
+ 'description': ns_inst.description,
+ 'nsdId': ns_inst.nsd_id,
+ 'vnfInfoId': self.get_vnf_infos(ns_inst.id),
+ 'vlInfo': self.get_vl_infos(ns_inst.id),
+ 'vnffgInfo': self.get_vnffg_infos(ns_inst.id, ns_inst.nsd_model),
+ 'nsState': ns_inst.status}
@staticmethod
def get_vnf_infos(ns_inst_id):