summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorfujinhua <fu.jinhua@zte.com.cn>2019-04-01 19:24:21 +0800
committerfujinhua <fu.jinhua@zte.com.cn>2019-04-01 19:25:27 +0800
commit442d53a4cb97170da936d498ce4a3308e9fc7f05 (patch)
tree93debd50a36ecd6b7b783b78ef871b0e11173edc
parentd54bf60fe4452b57b9dc532fd201a6bc16008fd5 (diff)
Fix scale vnf logic
Change-Id: I8d8137e79a657e23d1f6a8be474639fc7693bcbd Issue-ID: VFC-1306 Signed-off-by: fujinhua <fu.jinhua@zte.com.cn>
-rw-r--r--lcm/lcm/nf/biz/scale_vnf.py6
-rw-r--r--lcm/lcm/nf/views/scale_vnf_view.py23
2 files changed, 21 insertions, 8 deletions
diff --git a/lcm/lcm/nf/biz/scale_vnf.py b/lcm/lcm/nf/biz/scale_vnf.py
index 935fcefa..404b0369 100644
--- a/lcm/lcm/nf/biz/scale_vnf.py
+++ b/lcm/lcm/nf/biz/scale_vnf.py
@@ -48,7 +48,13 @@ class ScaleVnf(Thread):
def run(self):
try:
self.heal_pre()
+ JobUtil.add_job_status(self.job_id,
+ 50,
+ "Start to apply grant.")
self.apply_grant()
+ JobUtil.add_job_status(self.job_id,
+ 75,
+ "Start to scale Vnf.")
self.do_operation()
JobUtil.add_job_status(self.job_id,
100,
diff --git a/lcm/lcm/nf/views/scale_vnf_view.py b/lcm/lcm/nf/views/scale_vnf_view.py
index f8778a7d..570ba74d 100644
--- a/lcm/lcm/nf/views/scale_vnf_view.py
+++ b/lcm/lcm/nf/views/scale_vnf_view.py
@@ -54,33 +54,40 @@ class ScaleVnfView(APIView):
ScaleVnf(scale_vnf_request_serializer.data, instanceid, job_id).start()
- response = Response(data={"jobId": job_id}, status=status.HTTP_202_ACCEPTED)
+ response = Response(data={"jobId": job_id},
+ status=status.HTTP_202_ACCEPTED)
return response
except NFLCMExceptionNotFound as e:
- probDetail = ProblemDetailsSerializer(data={"status": status.HTTP_404_NOT_FOUND, "detail": "VNF Instance not found"})
+ probDetail = ProblemDetailsSerializer(data={"status": status.HTTP_404_NOT_FOUND,
+ "detail": "VNF Instance not found"})
resp_isvalid = probDetail.is_valid()
if not resp_isvalid:
raise NFLCMException(probDetail.errors)
- return Response(data=probDetail.data, status=status.HTTP_404_NOT_FOUND)
+ return Response(data=probDetail.data,
+ status=status.HTTP_404_NOT_FOUND)
except NFLCMExceptionConflict as e:
- probDetail = ProblemDetailsSerializer(data={"status": status.HTTP_409_CONFLICT, "detail": "VNF Instance not in Instantiated State"})
+ probDetail = ProblemDetailsSerializer(data={"status": status.HTTP_409_CONFLICT,
+ "detail": "VNF Instance not in Instantiated State"})
resp_isvalid = probDetail.is_valid()
if not resp_isvalid:
raise NFLCMException(probDetail.errors)
- return Response(data=probDetail.data, status=status.HTTP_409_CONFLICT)
+ return Response(data=probDetail.data,
+ status=status.HTTP_409_CONFLICT)
except NFLCMException as e:
logger.error(e.message)
- return Response(data={'error': '%s' % e.message}, status=status.HTTP_500_INTERNAL_SERVER_ERROR)
+ return Response(data={'error': '%s' % e.message},
+ status=status.HTTP_500_INTERNAL_SERVER_ERROR)
except Exception as e:
logger.error(e.message)
logger.error(traceback.format_exc())
- return Response(data={'error': 'unexpected exception'}, status=status.HTTP_500_INTERNAL_SERVER_ERROR)
+ return Response(data={'error': 'unexpected exception'},
+ status=status.HTTP_500_INTERNAL_SERVER_ERROR)
def scale_pre_check(self, nf_inst_id, job_id):
vnf_insts = NfInstModel.objects.filter(nfinstid=nf_inst_id)
if not vnf_insts.exists():
raise NFLCMExceptionNotFound("VNF nf_inst_id does not exist.")
- NfInstModel.objects.filter(nfinstid=nf_inst_id).update(status=VNF_STATUS.SCALING)
+ vnf_insts.update(status=VNF_STATUS.SCALING)
JobUtil.add_job_status(job_id, 15, 'Nf scaling pre-check finish')
logger.info("Nf scaling pre-check finish")