From 4dfb5277d5e59a3fd92a032b409eed0dacdff874 Mon Sep 17 00:00:00 2001 From: fujinhua Date: Wed, 24 Apr 2019 12:03:25 +0800 Subject: Add lcm op occ to chg ext conn Change-Id: I0037d733256d4d8c66426d8fa68c07da6df0b0a4 Issue-ID: VFC-1306 Signed-off-by: fujinhua --- lcm/lcm/nf/biz/change_ext_conn.py | 13 ++++++++++++- lcm/lcm/nf/const.py | 12 ++++++++++++ 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/lcm/lcm/nf/biz/change_ext_conn.py b/lcm/lcm/nf/biz/change_ext_conn.py index b1bc9219..4448ccee 100644 --- a/lcm/lcm/nf/biz/change_ext_conn.py +++ b/lcm/lcm/nf/biz/change_ext_conn.py @@ -19,7 +19,7 @@ from threading import Thread from lcm.nf.biz.common import port_save from lcm.nf.biz.grant_vnf import grant_resource from lcm.nf.const import RESOURCE_MAP, GRANT_TYPE, OPERATION_STATE_TYPE -from lcm.nf.const import VNF_STATUS +from lcm.nf.const import VNF_STATUS, OPERATION_TASK, OPERATION_TYPE from lcm.pub.database.models import VmInstModel, NfInstModel, PortInstModel from lcm.pub.utils.notificationsutil import NotificationsUtil, prepare_notification from lcm.pub.utils.values import ignore_case_get @@ -27,6 +27,7 @@ from lcm.pub.utils.timeutil import now_time from lcm.pub.utils.jobutil import JobUtil from lcm.pub.exceptions import NFLCMException from lcm.pub.vimapi import adaptor +from .operate_vnf_lcm_op_occ import VnfLcmOpOcc logger = logging.getLogger(__name__) @@ -41,13 +42,21 @@ class ChangeExtConn(Thread): self.extVirtualLinks = ignore_case_get(self.data, "extVirtualLinks") self.vimConnectionInfo = ignore_case_get(self.data, "vimConnectionInfo") self.additionalParams = ignore_case_get(self.data, "additionalParams") + self.lcm_op_occ = VnfLcmOpOcc( + vnf_inst_id=nf_inst_id, + lcm_op_id=job_id, + operation=OPERATION_TYPE.CHANGE_EXT_CONN, + task=OPERATION_TASK.CHANGE_EXT_CONN + ) def run(self): try: + self.lcm_op_occ.notify_lcm(OPERATION_STATE_TYPE.STARTING) JobUtil.add_job_status(self.job_id, 10, "Start to apply grant.") self.apply_grant() + self.lcm_op_occ.notify_lcm(OPERATION_STATE_TYPE.PROCESSING) JobUtil.add_job_status(self.job_id, 50, "Start to change ext conn.") @@ -56,6 +65,7 @@ class ChangeExtConn(Thread): status='INSTANTIATED', lastuptime=now_time() ) + self.lcm_op_occ.notify_lcm(OPERATION_STATE_TYPE.COMPLETED) JobUtil.add_job_status(self.job_id, 100, "Change ext conn success.") @@ -246,4 +256,5 @@ class ChangeExtConn(Thread): logger.error('Chnage ext conn failed, detail message: %s', error_msg) self.vnf_insts.update(status=VNF_STATUS.FAILED, lastuptime=now_time()) + self.lcm_op_occ.notify_lcm(OPERATION_STATE_TYPE.FAILED) JobUtil.add_job_status(self.job_id, 255, error_msg) diff --git a/lcm/lcm/nf/const.py b/lcm/lcm/nf/const.py index b14e50d4..8c434342 100644 --- a/lcm/lcm/nf/const.py +++ b/lcm/lcm/nf/const.py @@ -63,6 +63,18 @@ OPERATION_TYPE = enum( MODIFY_INFO="MODIFY_INFO" ) +OPERATION_TASK = enum( + MODIFY="", + INSTANTIATE="instantiate", + SCALE="scale", + SCALE_TO_LEVEL="scale_to_level", + CHANGE_FLAVOUR="change_flavour", + OPERATE="operate", + HEAL="heal", + CHANGE_EXT_CONN="change_ext_conn", + TERMINATE="terminate" +) + INSTANTIATION_STATE = enum( NOT_INSTANTIATED="NOT_INSTANTIATED", INSTANTIATED="INSTANTIATED" -- cgit 1.2.3-korg