From: fujinhua Date: Wed, 11 Apr 2018 07:02:01 +0000 (+0800) Subject: Refactor logic of scale VNF X-Git-Tag: v1.1.0~31 X-Git-Url: https://gerrit.onap.org/r/gitweb?a=commitdiff_plain;h=f5e7a07a4b4974c827e14405a43de1465520b9dc;p=vfc%2Fnfvo%2Flcm.git Refactor logic of scale VNF Change-Id: I5dc5d6349c227cbded5d7f45dab0590dfd916049 Issue-ID: VFC-872 Signed-off-by: fujinhua --- diff --git a/lcm/ns/vnfs/scale_vnfs.py b/lcm/ns/vnfs/scale_vnfs.py index 5b4e978a..9848c1ab 100644 --- a/lcm/ns/vnfs/scale_vnfs.py +++ b/lcm/ns/vnfs/scale_vnfs.py @@ -36,8 +36,6 @@ class NFManualScaleService(threading.Thread): self.data = data self.job_id = JobUtil.create_job( "NF", JOB_TYPE.MANUAL_SCALE_VNF, vnf_instance_id) - self.scale_vnf_data = '' - self.nf_model = {} self.nf_scale_params = [] self.m_nf_inst_id = '' self.vnfm_inst_id = '' @@ -50,58 +48,44 @@ class NFManualScaleService(threading.Thread): except Exception as ex: logger.error(ex.message) logger.error(traceback.format_exc()) - JobUtil.add_job_status(self.job_id, JOB_ERROR, 'nf scale fail') + JobUtil.add_job_status(self.job_id, JOB_ERROR, 'VNF scale failed') finally: self.update_nf_status() def do_biz(self): - self.update_job(1, desc='nf scale start') + self.update_job(1, desc='VNF scale start') self.update_nf_status(VNF_STATUS.SCALING) self.get_and_check_params() self.send_nf_scaling_requests() - self.update_job(100, desc='nf scale success') + self.update_job(100, desc='VNF scale success') def get_and_check_params(self): nf_info = NfInstModel.objects.filter(nfinstid=self.vnf_instance_id) if not nf_info: - logger.error( - 'NF instance[id=%s] does not exist' % - self.vnf_instance_id) raise NSLCMException( 'NF instance[id=%s] does not exist' % self.vnf_instance_id) logger.debug('vnfd_model = %s, vnf_instance_id = %s' % (nf_info[0].vnfd_model, self.vnf_instance_id)) - self.nf_model = json.loads(nf_info[0].vnfd_model) + nf_model = json.loads(nf_info[0].vnfd_model) self.m_nf_inst_id = nf_info[0].mnfinstid self.vnfm_inst_id = nf_info[0].vnfm_inst_id - self.scale_vnf_data = ignore_case_get(self.data, 'scaleVnfData') - if not self.scale_vnf_data: - logger.error( - 'scaleVnfData parameter does not exist or value incorrect') - raise NSLCMException( - 'scaleVnfData parameter does not exist or value incorrect') + scale_vnf_data = ignore_case_get(self.data, 'scaleVnfData') + if not scale_vnf_data: + raise NSLCMException('scaleVnfData parameter does not exist') - scale_type = ignore_case_get(self.scale_vnf_data, 'type') - aspect_id = ignore_case_get(self.scale_vnf_data, 'aspectId') - number_of_steps = ignore_case_get(self.scale_vnf_data, 'numberOfSteps') self.nf_scale_params.append({ - 'type': scale_type, - 'aspectId': aspect_id, - 'numberOfSteps': number_of_steps, - 'additionalParam': {'vnfdModel': self.nf_model} + 'type': ignore_case_get(scale_vnf_data, 'type'), + 'aspectId': ignore_case_get(scale_vnf_data, 'aspectId'), + 'numberOfSteps': ignore_case_get(scale_vnf_data, 'numberOfSteps'), + 'additionalParam': {'vnfdModel': nf_model} }) def send_nf_scaling_requests(self): - for i in range(len(self.nf_scale_params)): - progress_range = [10 + - 80 / - len(self.nf_scale_params) * - i, 10 + - 80 / - len(self.nf_scale_params) * - (i + - 1)] + nf_scale_num = len(self.nf_scale_params) + for i in range(nf_scale_num): + progress_range = [10 + 80 / nf_scale_num * i, + 10 + 80 / nf_scale_num * (i + 1)] self.send_nf_scaling_request( self.nf_scale_params[i], progress_range) @@ -118,8 +102,7 @@ class NFManualScaleService(threading.Thread): timeout=1200, mode='1') if ret != JOB_MODEL_STATUS.FINISHED: - logger.error('[NF scale] nf scale failed') - raise NSLCMException("nf scale failed") + raise NSLCMException("VNF scale failed") def update_nf_status(self, status=VNF_STATUS.ACTIVE): NfInstModel.objects.filter(