X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=osm_nbi%2Fosm_vnfm%2Fvnf_instances.py;h=d65f1e09a6ccde9ff5a8f5641ef7e3dc1c407d97;hb=9af2a4785d3a77772fd205aa572cc6a64d4d1003;hp=a41f6d5d1cae9978f73f7d06c1b30e53a6470941;hpb=e47b913f0500837d7caa2ee25c0b476f58884859;p=osm%2FNBI.git diff --git a/osm_nbi/osm_vnfm/vnf_instances.py b/osm_nbi/osm_vnfm/vnf_instances.py index a41f6d5..d65f1e0 100644 --- a/osm_nbi/osm_vnfm/vnf_instances.py +++ b/osm_nbi/osm_vnfm/vnf_instances.py @@ -24,7 +24,6 @@ from osm_nbi.instance_topics import NsrTopic, VnfrTopic class VnfInstances2NsInstances: - def __init__(self, db, fs, msg, auth): """ Constructor of Vnf Instances to Ns Instances @@ -81,7 +80,6 @@ class VnfInstances2NsInstances: class NewVnfInstance(BaseMethod): - # sample ns descriptor sample_nsd = { "nsd": { @@ -96,13 +94,15 @@ class NewVnfInstance(BaseMethod): "virtual-link-connectivity": [ { "constituent-cpd-id": [ - {"constituent-base-element-id": 1, - "constituent-cpd-id": "eth0-ext"} + { + "constituent-base-element-id": 1, + "constituent-cpd-id": "eth0-ext", + } ], "virtual-link-profile-id": "mgmtnet", } ], - "vnfd-id": "cirros_vnfd" + "vnfd-id": "cirros_vnfd", } ], } @@ -130,7 +130,12 @@ class NewVnfInstance(BaseMethod): formatted_indata = deepcopy(indata) formatted_indata["nsdId"] = nsd_id formatted_indata["nsName"] = indata["vnfInstanceName"] + "-ns" - for invalid_key in ("vnfdId", "vnfInstanceName", "vnfInstanceDescription", "additionalParams"): + for invalid_key in ( + "vnfdId", + "vnfInstanceName", + "vnfInstanceDescription", + "additionalParams", + ): formatted_indata.pop(invalid_key) return formatted_indata @@ -164,24 +169,28 @@ class NewVnfInstance(BaseMethod): _id, *others = self.nsdtopic.new(rollback, session, {}, None, headers) new_nsd = deepcopy(NewVnfInstance.sample_nsd) vnf_content = { - "id":"default-df", - "vnf-profile": [ + "id": "default-df", + "vnf-profile": [ { - "id": "1", - "virtual-link-connectivity": [ - { - "constituent-cpd-id": [ + "id": "1", + "virtual-link-connectivity": [ { - "constituent-base-element-id": "1", - "constituent-cpd-id": indata["additionalParams"]["constituent-cpd-id"] + "constituent-cpd-id": [ + { + "constituent-base-element-id": "1", + "constituent-cpd-id": indata["additionalParams"][ + "constituent-cpd-id" + ], + } + ], + "virtual-link-profile-id": indata["additionalParams"][ + "virtual-link-profile-id" + ], } - ], - "virtual-link-profile-id": indata["additionalParams"]["virtual-link-profile-id"] - } - ], - "vnfd-id": indata["vnfdId"] + ], + "vnfd-id": indata["vnfdId"], } - ] + ], } new_nsd["nsd"]["nsd"][0] = { "description": indata["vnfInstanceDescription"], @@ -189,9 +198,11 @@ class NewVnfInstance(BaseMethod): "id": indata["vnfdId"] + "-ns", "name": indata["vnfdId"] + "-ns", "version": "1.0", - "df": [vnf_content, ], + "df": [ + vnf_content, + ], "virtual-link-desc": indata["additionalParams"]["virtual-link-desc"], - "vnfd-id": [indata["vnfdId"]] + "vnfd-id": [indata["vnfdId"]], } return _id, new_nsd @@ -207,7 +218,9 @@ class NewVnfInstance(BaseMethod): """ return self.nsrtopic.new(rollback, session, indata, kwargs, headers) - def __action_pre_processing(self, rollback, session, indata=None, kwargs=None, headers=None): + def __action_pre_processing( + self, rollback, session, indata=None, kwargs=None, headers=None + ): """ Pre process for creating new vnf instance :param rollback: list to append the created items at database in case a rollback must be done @@ -221,9 +234,16 @@ class NewVnfInstance(BaseMethod): nsd_id, nsd = self.__create_nsd(rollback, session, indata, kwargs, headers) self.nsdtopic.upload_content(session, nsd_id, nsd, kwargs, headers) formatted_indata = NewVnfInstance.__get_formatted_indata(indata, nsd_id) - nsr_id, _ = self.__create_nsr(rollback, session, formatted_indata, kwargs, headers) + nsr_id, _ = self.__create_nsr( + rollback, session, formatted_indata, kwargs, headers + ) nsr = self.nsrtopic.show(session, nsr_id) - vnfr_id = nsr['constituent-vnfr-ref'][0] + vnfr_id = nsr["constituent-vnfr-ref"][0] + if vnfr_id: + links = {"vnfInstance": "/osm/vnflcm/v1/vnf_instances/" + vnfr_id} + indata["vnfInstanceId"] = vnfr_id + indata["_links"] = links + self.msg.write("vnf", "create", indata) return vnfr_id, None def action(self, rollback, session, indata=None, kwargs=None, headers=None): @@ -240,7 +260,6 @@ class NewVnfInstance(BaseMethod): class ListVnfInstance(BaseMethod): - def __init__(self, db, fs, msg, auth): """ Constructor call for listing vnfs @@ -260,7 +279,6 @@ class ListVnfInstance(BaseMethod): class ShowVnfInstance(BaseMethod): - def __init__(self, db, fs, msg, auth): """ Constructor call for showing vnf lcm operation @@ -280,7 +298,6 @@ class ShowVnfInstance(BaseMethod): class DeleteVnfInstance(BaseMethod): - def __init__(self, db, fs, msg, auth): """ Constructor call for deleting vnf @@ -304,6 +321,9 @@ class DeleteVnfInstance(BaseMethod): vnfr = self.vnfrtopic.show(session, vnfInstanceId) ns_id = vnfr.get("nsr-id-ref") nsr = self.nsrtopic.show(session, ns_id) - nsd_to_del = nsr['nsd']['_id'] + nsd_to_del = nsr["nsd"]["_id"] + links = {"vnfInstance": "/osm/vnflcm/v1/vnf_instances/" + _id} + params = {"vnfdId": vnfr["vnfd-ref"], "vnfInstanceId": _id, "_links": links} + self.msg.write("vnf", "delete", params) self.nsrtopic.delete(session, ns_id, dry_run, not_send_msg) return self.nsdtopic.delete(session, nsd_to_del, dry_run, not_send_msg)