X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=osm_nbi%2Fosm_vnfm%2Fvnf_instance_actions.py;h=947f0b78aeb1b26e1db15546b4da246d9c95116c;hb=refs%2Fchanges%2F75%2F11775%2F3;hp=93c91c5569a041ae0c529b9a52a84eedaa921d41;hpb=e47b913f0500837d7caa2ee25c0b476f58884859;p=osm%2FNBI.git diff --git a/osm_nbi/osm_vnfm/vnf_instance_actions.py b/osm_nbi/osm_vnfm/vnf_instance_actions.py index 93c91c5..947f0b7 100644 --- a/osm_nbi/osm_vnfm/vnf_instance_actions.py +++ b/osm_nbi/osm_vnfm/vnf_instance_actions.py @@ -133,6 +133,31 @@ class NewVnfLcmOp(BaseMethod): } return formatted_indata + def notify_operation(self, session, _id, lcm_operation, op_id): + """ + Formats the operation message params and sends to kafka + :param session: contains "username", "admin", "force", "public", "project_id", "set_project" + :param _id: vnf instance id + :param lcm_operation: lcm operation type of a VNF (instantiate, scale, terminate) + :param op_id: lcm operation id of a VNF + :return: None + """ + vnfInstanceId = _id + operation = lcm_operation + nslcmop_rec = self.nslcmoptopic.show(session, op_id) + operation_status = nslcmop_rec["operationState"] + vnfr = self.vnfrtopic.show(session, vnfInstanceId) + links = {"self": "/osm/vnflcm/v1/vnf_lcm_op_occs/" + op_id, + "vnfInstance": "/osm/vnflcm/v1/vnf_instances/" + vnfInstanceId} + params = {"vnfdId": vnfr["vnfd-ref"], + "vnfInstanceId": vnfInstanceId, + "operationState": operation_status, + "vnfLcmOpOccId": op_id, + "_links": links + } + self.msg.write("vnf", operation, params) + return None + def action(self, rollback, session, indata=None, kwargs=None, headers=None): """ Creates an new lcm operation. @@ -149,6 +174,7 @@ class NewVnfLcmOp(BaseMethod): indata["vnfInstanceId"] = vnfr.get("nsr-id-ref") indata = self.__get_formatted_indata(session, indata) op_id, _ = self.nslcmoptopic.new(rollback, session, indata, kwargs, headers) + self.notify_operation(session, vnfInstanceId, lcm_operation, op_id) return op_id, _