}
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.
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, _