+ 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
+