summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorfujinhua <fu.jinhua@zte.com.cn>2018-04-11 15:02:01 +0800
committerfujinhua <fu.jinhua@zte.com.cn>2018-04-11 15:02:01 +0800
commitf5e7a07a4b4974c827e14405a43de1465520b9dc (patch)
tree509834b51e0579e04b5d07e24619e75aba424cd2
parent862a5dd9f16e11d2fdf45273314b97e1865a4976 (diff)
Refactor logic of scale VNF
Change-Id: I5dc5d6349c227cbded5d7f45dab0590dfd916049 Issue-ID: VFC-872 Signed-off-by: fujinhua <fu.jinhua@zte.com.cn>
-rw-r--r--lcm/ns/vnfs/scale_vnfs.py49
1 files changed, 16 insertions, 33 deletions
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(