summaryrefslogtreecommitdiffstats
path: root/lcm/lcm/nf/biz
diff options
context:
space:
mode:
Diffstat (limited to 'lcm/lcm/nf/biz')
-rw-r--r--lcm/lcm/nf/biz/grant_vnf.py53
-rw-r--r--lcm/lcm/nf/biz/instantiate_vnf.py20
-rw-r--r--lcm/lcm/nf/biz/operate_vnf.py6
-rw-r--r--lcm/lcm/nf/biz/query_vnf.py6
-rw-r--r--lcm/lcm/nf/biz/terminate_vnf.py9
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())