Change-Id: I313f444a272b4606db99cb77f7a12080958b3700
Issue-ID: VFC-1306
Signed-off-by: fujinhua <fu.jinhua@zte.com.cn>
status='INSTANTIATED',
lastuptime=now_time()
)
status='INSTANTIATED',
lastuptime=now_time()
)
- self.lcm_op_occ.notify_lcm(OPERATION_STATE_TYPE.COMPLETED)
+ self.send_notification()
JobUtil.add_job_status(self.job_id,
100,
"Change ext conn success.")
JobUtil.add_job_status(self.job_id,
100,
"Change ext conn success.")
def send_notification(self):
data = prepare_notification(nfinstid=self.nf_inst_id,
jobid=self.job_id,
def send_notification(self):
data = prepare_notification(nfinstid=self.nf_inst_id,
jobid=self.job_id,
- operation=self.op_type,
+ operation=OPERATION_TYPE.CHANGE_EXT_CONN,
operation_state=OPERATION_STATE_TYPE.COMPLETED)
self.set_ext_connectivity(data['changedExtConnectivity'])
operation_state=OPERATION_STATE_TYPE.COMPLETED)
self.set_ext_connectivity(data['changedExtConnectivity'])
lastuptime=now_time()
)
self.send_notification()
lastuptime=now_time()
)
self.send_notification()
- self.lcm_op_occ.notify_lcm(OPERATION_STATE_TYPE.COMPLETED)
JobUtil.add_job_status(self.job_id,
100,
"Change vnf flavour success.")
JobUtil.add_job_status(self.job_id,
100,
"Change vnf flavour success.")
data = prepare_notification_data(nfinstid=self.nf_inst_id,
jobid=self.job_id,
changetype=CHANGE_TYPE.MODIFIED,
data = prepare_notification_data(nfinstid=self.nf_inst_id,
jobid=self.job_id,
changetype=CHANGE_TYPE.MODIFIED,
- operation=self.op_type)
+ operation=OPERATION_TYPE.CHANGE_FLAVOUR)
logger.debug('Notify request data = %s' % data)
NotificationsUtil().send_notification(data)
logger.debug('Notify request data = %s' % data)
NotificationsUtil().send_notification(data)
from lcm.pub.database.models import VNFCInstModel
from lcm.pub.exceptions import NFLCMException
from lcm.pub.utils.jobutil import JobUtil
from lcm.pub.database.models import VNFCInstModel
from lcm.pub.exceptions import NFLCMException
from lcm.pub.utils.jobutil import JobUtil
+from lcm.pub.utils.notificationsutil import NotificationsUtil
from lcm.pub.utils.timeutil import now_time
from lcm.pub.utils.values import ignore_case_get
from lcm.pub.vimapi import adaptor
from lcm.pub.utils.timeutil import now_time
from lcm.pub.utils.values import ignore_case_get
from lcm.pub.vimapi import adaptor
status='INSTANTIATED',
lastuptime=now_time()
)
status='INSTANTIATED',
lastuptime=now_time()
)
- self.lcm_op_occ.notify_lcm(OPERATION_STATE_TYPE.COMPLETED)
+ self.lcm_notify(
+ LCM_NOTIFICATION_STATUS.RESULT,
+ OPERATION_STATE_TYPE.COMPLETED
+ )
except NFLCMException as e:
logger.error(e.message)
self.vnf_heal_failed_handle(e.message)
except NFLCMException as e:
logger.error(e.message)
self.vnf_heal_failed_handle(e.message)
self.lcm_op_occ.notify_lcm(OPERATION_STATE_TYPE.FAILED, error_msg)
JobUtil.add_job_status(self.job_id, 255, error_msg)
self.lcm_op_occ.notify_lcm(OPERATION_STATE_TYPE.FAILED, error_msg)
JobUtil.add_job_status(self.job_id, 255, error_msg)
+ def lcm_notify(self, status, opState, err=None):
+ notification_content = self.prepareNotificationData(status, opState, err)
+ logger.info('Notify data = %s' % notification_content)
+ NotificationsUtil().send_notification(notification_content)
+ logger.info('Notify end')
+
def prepareNotificationData(self, status, opState, err=None):
affected_vnfcs = []
if status == LCM_NOTIFICATION_STATUS.RESULT and opState == OPERATION_STATE_TYPE.COMPLETED:
def prepareNotificationData(self, status, opState, err=None):
affected_vnfcs = []
if status == LCM_NOTIFICATION_STATUS.RESULT and opState == OPERATION_STATE_TYPE.COMPLETED:
# import json
import logging
import traceback
# import json
import logging
import traceback
from threading import Thread
from threading import Thread
-from lcm.pub.database.models import NfInstModel, VmInstModel, VNFCInstModel
+from lcm.pub.database.models import NfInstModel
+from lcm.pub.database.models import VmInstModel
+from lcm.pub.database.models import VNFCInstModel
from lcm.pub.exceptions import NFLCMException
from lcm.pub.utils.jobutil import JobUtil
from lcm.pub.utils.timeutil import now_time
from lcm.pub.exceptions import NFLCMException
from lcm.pub.utils.jobutil import JobUtil
from lcm.pub.utils.timeutil import now_time
from lcm.pub.utils.values import ignore_case_get
from lcm.pub.vimapi import adaptor
from lcm.nf.biz.grant_vnf import grant_resource
from lcm.pub.utils.values import ignore_case_get
from lcm.pub.vimapi import adaptor
from lcm.nf.biz.grant_vnf import grant_resource
-from lcm.nf.const import VNF_STATUS, RESOURCE_MAP, GRANT_TYPE, OPERATION_STATE_TYPE, LCM_NOTIFICATION_STATUS, CHANGE_TYPE, OPERATION_TYPE
-import uuid
+from lcm.nf.const import VNF_STATUS
+from lcm.nf.const import RESOURCE_MAP
+from lcm.nf.const import GRANT_TYPE
+from lcm.nf.const import OPERATION_STATE_TYPE
+from lcm.nf.const import LCM_NOTIFICATION_STATUS
+from lcm.nf.const import CHANGE_TYPE
+from lcm.nf.const import OPERATION_TYPE
+from lcm.nf.const import OPERATION_TASK
+from .operate_vnf_lcm_op_occ import VnfLcmOpOcc
logger = logging.getLogger(__name__)
logger = logging.getLogger(__name__)
self.stopType = ignore_case_get(self.data, "stopType")
self.gracefulStopTimeout = ignore_case_get(self.data, "gracefulStopTimeout")
self.inst_resource = {'vm': []}
self.stopType = ignore_case_get(self.data, "stopType")
self.gracefulStopTimeout = ignore_case_get(self.data, "gracefulStopTimeout")
self.inst_resource = {'vm': []}
+ self.lcm_op_occ = VnfLcmOpOcc(
+ vnf_inst_id=nf_inst_id,
+ lcm_op_id=job_id,
+ operation=OPERATION_TYPE.OPERATE,
+ task=OPERATION_TASK.OPERATE
+ )
- self.lcm_notify(LCM_NOTIFICATION_STATUS.START, OPERATION_STATE_TYPE.STARTING)
+ self.lcm_op_occ.notify_lcm(OPERATION_STATE_TYPE.STARTING)
self.apply_grant()
self.query_inst_resource()
self.apply_grant()
self.query_inst_resource()
- self.lcm_notify(LCM_NOTIFICATION_STATUS.RESULT, OPERATION_STATE_TYPE.PROCESSING)
+ self.lcm_op_occ.notify_lcm(OPERATION_STATE_TYPE.PROCESSING)
self.operate_resource()
JobUtil.add_job_status(self.job_id, 100, "Operate Vnf success.")
self.operate_resource()
JobUtil.add_job_status(self.job_id, 100, "Operate Vnf success.")
- NfInstModel.objects.filter(nfinstid=self.nf_inst_id).update(status='INSTANTIATED', lastuptime=now_time())
- self.lcm_notify(LCM_NOTIFICATION_STATUS.RESULT, OPERATION_STATE_TYPE.COMPLETED)
+ NfInstModel.objects.filter(nfinstid=self.nf_inst_id).update(
+ status='INSTANTIATED',
+ lastuptime=now_time()
+ )
+ self.lcm_notify(
+ LCM_NOTIFICATION_STATUS.RESULT,
+ OPERATION_STATE_TYPE.COMPLETED
+ )
except NFLCMException as e:
except NFLCMException as e:
- self.lcm_notify(LCM_NOTIFICATION_STATUS.RESULT, OPERATION_STATE_TYPE.FAILED, str(e))
self.vnf_operate_failed_handle(e.message)
except Exception as e:
logger.error(e.message)
self.vnf_operate_failed_handle(e.message)
except Exception as e:
logger.error(e.message)
- self.lcm_notify(LCM_NOTIFICATION_STATUS.RESULT, OPERATION_STATE_TYPE.FAILED, str(e))
- self.vnf_operate_failed_handle(traceback.format_exc())
+ logger.error(traceback.format_exc())
+ self.vnf_operate_failed_handle(e.message)
def apply_grant(self):
vdus = VmInstModel.objects.filter(instid=self.nf_inst_id)
def apply_grant(self):
vdus = VmInstModel.objects.filter(instid=self.nf_inst_id)
- apply_result = grant_resource(data=self.data, nf_inst_id=self.nf_inst_id, job_id=self.job_id,
- grant_type=self.grant_type, vdus=vdus)
+ apply_result = grant_resource(data=self.data,
+ nf_inst_id=self.nf_inst_id,
+ job_id=self.job_id,
+ grant_type=self.grant_type,
+ vdus=vdus)
logger.info("Grant resource, response: %s" % apply_result)
JobUtil.add_job_status(self.job_id, 20, 'Nf Operate grant_resource finish')
logger.info("Grant resource, response: %s" % apply_result)
JobUtil.add_job_status(self.job_id, 20, 'Nf Operate grant_resource finish')
def operate_resource(self):
logger.info('Operate resource begin')
def operate_resource(self):
logger.info('Operate resource begin')
- adaptor.operate_vim_res(self.inst_resource, self.changeStateTo, self.stopType, self.gracefulStopTimeout, self.do_notify_op)
+ adaptor.operate_vim_res(self.inst_resource,
+ self.changeStateTo,
+ self.stopType,
+ self.gracefulStopTimeout,
+ self.do_notify_op)
logger.info('Operate resource complete')
def lcm_notify(self, status, opState, err=None):
logger.info('Operate resource complete')
def lcm_notify(self, status, opState, err=None):
def vnf_operate_failed_handle(self, error_msg):
logger.error('VNF Operation failed, detail message: %s' % error_msg)
def vnf_operate_failed_handle(self, error_msg):
logger.error('VNF Operation failed, detail message: %s' % error_msg)
- NfInstModel.objects.filter(nfinstid=self.nf_inst_id).update(status=VNF_STATUS.FAILED, lastuptime=now_time())
+ NfInstModel.objects.filter(nfinstid=self.nf_inst_id).update(
+ status=VNF_STATUS.FAILED,
+ lastuptime=now_time()
+ )
+ self.lcm_op_occ.notify_lcm(OPERATION_STATE_TYPE.FAILED, error_msg)
JobUtil.add_job_status(self.job_id, 255, error_msg)
def do_notify_op(self, status, resid):
JobUtil.add_job_status(self.job_id, 255, error_msg)
def do_notify_op(self, status, resid):