class GetNSInfoService(object):
+ """
+ Get NS instance Model
+ """
+
def __init__(self, ns_filter=None):
self.ns_filter = ns_filter
def get_ns_info(self, is_sol=False):
+ """
+ Get all the ns instance models
+ :param is_sol:
+ :return:
+ """
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)
return result
def get_single_ns_info(self, ns_inst, is_sol=False):
+ """
+ Get a ns instance model
+ :param ns_inst:
+ :param is_sol:
+ :return:
+ """
if is_sol:
nsInstance = {}
nsInstance['id'] = ns_inst.id
@staticmethod
def get_vnf_infos(ns_inst_id, is_sol):
+ """
+ VNF info
+ :param ns_inst_id:
+ :param is_sol:
+ :return:
+ """
vnfs = NfInstModel.objects.filter(ns_inst_id=ns_inst_id)
if is_sol:
return [{
'vnfProfileId': vnf.vnf_id} for vnf in vnfs]
def get_vl_infos(self, ns_inst_id, is_sol):
+ """
+ VL info
+ :param ns_inst_id:
+ :param is_sol:
+ :return:
+ """
vls = VLInstModel.objects.filter(ownertype=OWNER_TYPE.NS, ownerid=ns_inst_id)
if is_sol:
return [
@staticmethod
def get_cp_infos(vl_inst_id):
+ """
+ CP info
+ :param vl_inst_id:
+ :return:
+ """
cps = CPInstModel.objects.filter(relatedvl__icontains=vl_inst_id)
return [{
'cpInstanceId': cp.cpinstanceid,
'cpdId': cp.cpdid} for cp in cps]
def get_vnffg_infos(self, ns_inst_id, nsd_model, is_sol):
+ """
+ VNFFG info
+ :param ns_inst_id:
+ :param nsd_model:
+ :param is_sol:
+ :return:
+ """
vnffgs = VNFFGInstModel.objects.filter(nsinstid=ns_inst_id)
return [{
'vnffgInstanceId': vnffg.vnffginstid,
@staticmethod
def get_pnf_ids(nsd_model):
+ """
+ PNF ids
+ :param nsd_model:
+ :return:
+ """
context = json.loads(nsd_model)
pnfs = context['pnfs']
return [pnf['pnf_id'] for pnf in pnfs]
@staticmethod
def get_pnf_infos(ns_instance_id):
+ """
+ PNF infos
+ :param ns_instance_id:
+ :return:
+ """
pnfs = PNFInstModel.objects.filter(nsInstances__contains=ns_instance_id)
return [pnf.__dict__ for pnf in pnfs]