diff options
Diffstat (limited to 'lcm/lcm/nf/biz')
-rw-r--r-- | lcm/lcm/nf/biz/grant_vnf.py | 53 | ||||
-rw-r--r-- | lcm/lcm/nf/biz/instantiate_vnf.py | 20 | ||||
-rw-r--r-- | lcm/lcm/nf/biz/operate_vnf.py | 6 | ||||
-rw-r--r-- | lcm/lcm/nf/biz/query_vnf.py | 6 | ||||
-rw-r--r-- | lcm/lcm/nf/biz/terminate_vnf.py | 9 |
5 files changed, 60 insertions, 34 deletions
diff --git a/lcm/lcm/nf/biz/grant_vnf.py b/lcm/lcm/nf/biz/grant_vnf.py index fe3cb530..a92f365e 100644 --- a/lcm/lcm/nf/biz/grant_vnf.py +++ b/lcm/lcm/nf/biz/grant_vnf.py @@ -25,38 +25,53 @@ logger = logging.getLogger(__name__) def grant_resource(data, nf_inst_id, job_id, grant_type, vdus): logger.info("Grant resource begin") - lifecycleOperration = grant_type content_args = { 'vnfInstanceId': nf_inst_id, - 'vnfDescriptorId': '', - 'lifecycleOperation': lifecycleOperration, 'vnfLcmOpOccId': job_id, + 'vnfdId': None, # TODO + 'flavourId': None, # TODO + 'operate': grant_type, + 'isAutomaticInvocation': True, # TODO + 'instantiationLevelId': None, # TODO 'addResources': [], + 'tmpResources': [], 'updateResources': [], 'removeResources': [], 'placementConstraints': [], - 'additionalParams': {} + 'vimConstraints': [], + 'additionalParams': {}, + '_links': None # TODO } - if grant_type == "Terminate": + if grant_type == GRANT_TYPE.TERMINATE: res_index = 1 for vdu in vdus: res_def = { - 'type': 'VDU', - 'resDefId': str(res_index), - 'resDesId': vdu.resouceid} + 'id': str(res_index), + 'type': 'COMPUTE', + 'vduId': None, + 'resourceTemplateId': None, + 'resource': { + 'vimConnectionId': None, + 'resourceProviderId': None, + 'resourceid': vdu.resourceid, + 'vimLevelResourceType': None + } + } content_args['removeResources'].append(res_def) res_index += 1 content_args['additionalParams']['vimid'] = vdus[0].vimid - elif grant_type == "Instantiate": + elif grant_type == GRANT_TYPE.INSTANTIATE: vim_id = ignore_case_get(ignore_case_get(data, "additionalParams"), "vimId") res_index = 1 for vdu in vdus: res_def = { - 'type': 'VDU', - 'resDefId': str(res_index), - 'resDesId': ignore_case_get(vdu, "vdu_id") + 'id': str(res_index), + 'type': 'COMPUTE', + 'vduId': None, + 'resourceTemplateId': None, # TODO: shall be present for the planned creation of new resources. + 'resource': None } content_args['addResources'].append(res_def) res_index += 1 @@ -65,9 +80,17 @@ def grant_resource(data, nf_inst_id, job_id, grant_type, vdus): res_index = 1 for vdu in vdus: res_def = { - 'type': 'VDU', - 'resDefId': str(res_index), - 'resDesId': vdu.resouceid} + 'id': str(res_index), + 'type': 'COMPUTE', + 'vduId': None, + 'resourceTemplateId': None, + 'resource': { + 'vimConnectionId': None, + 'resourceProviderId': None, + 'resourceid': vdu.resourceid, + 'vimLevelResourceType': None + } + } content_args['updateResources'].append(res_def) res_index += 1 content_args['additionalParams']['vimid'] = vdus[0].vimid diff --git a/lcm/lcm/nf/biz/instantiate_vnf.py b/lcm/lcm/nf/biz/instantiate_vnf.py index 161cd7d1..1c9a66bf 100644 --- a/lcm/lcm/nf/biz/instantiate_vnf.py +++ b/lcm/lcm/nf/biz/instantiate_vnf.py @@ -28,6 +28,7 @@ from lcm.pub.utils.timeutil import now_time from lcm.pub.utils.values import ignore_case_get, get_none, get_boolean, get_integer from lcm.pub.vimapi import adaptor from lcm.nf.biz.grant_vnf import grant_resource +from lcm.nf.const import GRANT_TYPE logger = logging.getLogger(__name__) @@ -39,7 +40,7 @@ class InstantiateVnf(Thread): self.nf_inst_id = nf_inst_id self.job_id = job_id self.vim_id = ignore_case_get(ignore_case_get(self.data, "additionalParams"), "vimId") - self.grant_type = "Instantiate" + self.grant_type = GRANT_TYPE.INSTANTIATE def run(self): try: @@ -73,8 +74,9 @@ class InstantiateVnf(Thread): inputs = json.loads(inputs) for key, val in inputs.items(): input_parameters.append({"key": key, "value": val}) - vnf_package_info = query_vnfpackage_by_id(self.vnfd_id) - self.vnfd_info = json.loads(ignore_case_get(ignore_case_get(vnf_package_info, "packageInfo"), "vnfdModel")) + vnf_package = query_vnfpackage_by_id(self.vnfd_id) + pkg_info = ignore_case_get(vnf_package, "packageInfo") + self.vnfd_info = json.loads(ignore_case_get(pkg_info, "vnfdModel")) self.update_cps() metadata = ignore_case_get(self.vnfd_info, "metadata") @@ -180,7 +182,7 @@ def volume_save(job_id, nf_inst_id, ret): StorageInstModel.objects.create( storageid=str(uuid.uuid4()), vimid=ignore_case_get(ret, "vimId"), - resouceid=ignore_case_get(ret, "id"), + resourceid=ignore_case_get(ret, "id"), name=ignore_case_get(ret, "name"), tenant=ignore_case_get(ret, "tenantId"), create_time=ignore_case_get(ret, "createTime"), @@ -198,7 +200,7 @@ def network_save(job_id, nf_inst_id, ret): networkid=str(uuid.uuid4()), name=ignore_case_get(ret, "name"), vimid=ignore_case_get(ret, "vimId"), - resouceid=ignore_case_get(ret, "id"), + resourceid=ignore_case_get(ret, "id"), tenant=ignore_case_get(ret, "tenantId"), segmentid=str(ignore_case_get(ret, "segmentationId")), network_type=ignore_case_get(ret, "networkType"), @@ -218,7 +220,7 @@ def subnet_save(job_id, nf_inst_id, ret): subnetworkid=str(uuid.uuid4()), name=ignore_case_get(ret, "name"), vimid=ignore_case_get(ret, "vimId"), - resouceid=ignore_case_get(ret, "id"), + resourceid=ignore_case_get(ret, "id"), tenant=ignore_case_get(ret, "tenantId"), networkid=ignore_case_get(ret, "networkId"), cidr=ignore_case_get(ret, "cidr"), @@ -241,7 +243,7 @@ def port_save(job_id, nf_inst_id, ret): subnetworkid=ignore_case_get(ret, "subnetId"), name=ignore_case_get(ret, "name"), vimid=ignore_case_get(ret, "vimId"), - resouceid=ignore_case_get(ret, "id"), + resourceid=ignore_case_get(ret, "id"), tenant=ignore_case_get(ret, "tenantId"), macaddress=ignore_case_get(ret, "macAddress"), ipaddress=ignore_case_get(ret, "ip"), @@ -259,7 +261,7 @@ def flavor_save(job_id, nf_inst_id, ret): flavourid=str(uuid.uuid4()), name=ignore_case_get(ret, "name"), vimid=ignore_case_get(ret, "vimId"), - resouceid=ignore_case_get(ret, "id"), + resourceid=ignore_case_get(ret, "id"), tenant=ignore_case_get(ret, "tenantId"), vcpu=get_integer(ignore_case_get(ret, "vcpu")), memory=get_integer(ignore_case_get(ret, "memory")), @@ -279,7 +281,7 @@ def vm_save(job_id, nf_inst_id, ret): vmid=vm_id, vmname=ignore_case_get(ret, "name"), vimid=ignore_case_get(ret, "vimId"), - resouceid=ignore_case_get(ret, "id"), + resourceid=ignore_case_get(ret, "id"), tenant=ignore_case_get(ret, "tenantId"), nic_array=ignore_case_get(ret, "nicArray"), metadata=ignore_case_get(ret, "metadata"), diff --git a/lcm/lcm/nf/biz/operate_vnf.py b/lcm/lcm/nf/biz/operate_vnf.py index 5f6499d6..99c1e6d9 100644 --- a/lcm/lcm/nf/biz/operate_vnf.py +++ b/lcm/lcm/nf/biz/operate_vnf.py @@ -70,7 +70,7 @@ class OperateVnf(Thread): resource_table = globals().get(resource_type + 'InstModel') resource_insts = resource_table.objects.filter(instid=self.nf_inst_id) for resource_inst in resource_insts: - if not resource_inst.resouceid: + if not resource_inst.resourceid: continue self.inst_resource[RESOURCE_MAP.get(resource_type)].append(self.get_resource(resource_inst)) logger.info('Query resource end, resource=%s' % self.inst_resource) @@ -79,7 +79,7 @@ class OperateVnf(Thread): return { "vim_id": resource.vimid, "tenant_id": resource.tenant, - "id": resource.resouceid + "id": resource.resourceid } def operate_resource(self): @@ -100,4 +100,4 @@ class OperateVnf(Thread): def do_notify_op(self, status, resid): logger.error('VNF resource %s updated to: %s' % (resid, status)) - VmInstModel.objects.filter(instid=self.nf_inst_id, resouceid=resid).update(operationalstate=status) + VmInstModel.objects.filter(instid=self.nf_inst_id, resourceid=resid).update(operationalstate=status) diff --git a/lcm/lcm/nf/biz/query_vnf.py b/lcm/lcm/nf/biz/query_vnf.py index 09fab6ca..380d455a 100644 --- a/lcm/lcm/nf/biz/query_vnf.py +++ b/lcm/lcm/nf/biz/query_vnf.py @@ -51,7 +51,7 @@ class QueryVnf: "id": s.storageid, "storageResource": { "vimConnectionId": s.vimid, - "resourceId": s.resouceid + "resourceId": s.resourceid } } arr.append(storage) @@ -67,7 +67,7 @@ class QueryVnf: "virtualLinkDescId": v.vldid, "networkResource": { "vimConnectionId": net[0].vimid, - "resourceId": net[0].resouceid + "resourceId": net[0].resourceid } } vl_arr.append(v_dic) @@ -87,7 +87,7 @@ class QueryVnf: "vduId": vnfc.vduid, "computeResource": { "vimConnectionId": vm[0].vimid, - "resourceId": vm[0].resouceid + "resourceId": vm[0].resourceid }, "storageResourceIds": [s.storageid for s in storage] } diff --git a/lcm/lcm/nf/biz/terminate_vnf.py b/lcm/lcm/nf/biz/terminate_vnf.py index d63cdfa9..5b299f20 100644 --- a/lcm/lcm/nf/biz/terminate_vnf.py +++ b/lcm/lcm/nf/biz/terminate_vnf.py @@ -30,6 +30,7 @@ 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 +from lcm.nf.const import GRANT_TYPE logger = logging.getLogger(__name__) @@ -43,7 +44,7 @@ class TerminateVnf(Thread): self.terminationType = ignore_case_get(self.data, "terminationType") self.gracefulTerminationTimeout = ignore_case_get(self.data, "gracefulTerminationTimeout") self.inst_resource = {'volumn': [], 'network': [], 'subnet': [], 'port': [], 'flavor': [], 'vm': []} - self.grant_type = "Terminate" + self.grant_type = GRANT_TYPE.TERMINATE def run(self): try: @@ -83,7 +84,7 @@ class TerminateVnf(Thread): resource_table = globals().get(resource_type + 'InstModel') resource_insts = resource_table.objects.filter(instid=self.nf_inst_id) for resource_inst in resource_insts: - if not resource_inst.resouceid: + if not resource_inst.resourceid: continue self.inst_resource[RESOURCE_MAP.get(resource_type)].append(self.get_resource(resource_inst)) logger.info('Query resource end, resource=%s' % self.inst_resource) @@ -92,7 +93,7 @@ class TerminateVnf(Thread): return { "vim_id": resource.vimid, "tenant_id": resource.tenant, - "res_id": resource.resouceid, + "res_id": resource.resourceid, "is_predefined": resource.is_predefined } @@ -114,7 +115,7 @@ class TerminateVnf(Thread): logger.error('Deleting [%s] resource, resourceid [%s]' % (res_type, res_id)) resource_type = RESOURCE_MAP.keys()[RESOURCE_MAP.values().index(res_type)] resource_table = globals().get(resource_type + 'InstModel') - resource_table.objects.filter(instid=self.nf_inst_id, resouceid=res_id).delete() + resource_table.objects.filter(instid=self.nf_inst_id, resourceid=res_id).delete() def lcm_notify(self): NfInstModel.objects.filter(nfinstid=self.nf_inst_id).update(status='NOT_INSTANTIATED', lastuptime=now_time()) |