diff options
author | 2018-01-29 14:14:14 +0800 | |
---|---|---|
committer | 2018-01-29 14:14:14 +0800 | |
commit | 96e7252cfb393e78b8061453134371865b2bdf2b (patch) | |
tree | a8c8136138407f0c9369e826c9c6364fc017e559 | |
parent | a50ca420d2a478d95c6dea62d0e9f1e1920987d9 (diff) |
Add ns scale swagger generate logic
Change-Id: I52682dd3f8b9a782e16b23d50ada17a8ca966c81
Issue-ID: VFC-680
Signed-off-by: fujinhua <fu.jinhua@zte.com.cn>
-rw-r--r-- | lcm/ns/views.py | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/lcm/ns/views.py b/lcm/ns/views.py index b07f21ef..429df521 100644 --- a/lcm/ns/views.py +++ b/lcm/ns/views.py @@ -38,6 +38,7 @@ from lcm.ns.serializers import InstantNsReqSerializer from lcm.ns.serializers import TerminateNsReqSerializer from lcm.ns.serializers import HealNsReqSerializer from lcm.ns.serializers import InstNsPostDealReqSerializer +from lcm.ns.serializers import ManualScaleNsReqSerializer from lcm.pub.exceptions import NSLCMException logger = logging.getLogger(__name__) @@ -282,14 +283,30 @@ class NSInstPostDealView(APIView): class NSManualScaleView(APIView): + @swagger_auto_schema( + request_body=ManualScaleNsReqSerializer(help_text="NS manual scale"), + responses={ + status.HTTP_202_ACCEPTED: NsOperateJobSerializer(), + status.HTTP_500_INTERNAL_SERVER_ERROR: "Inner error" + } + ) def post(self, request, ns_instance_id): logger.debug("Enter NSManualScaleView::post %s, %s", request.data, ns_instance_id) job_id = JobUtil.create_job("NS", JOB_TYPE.MANUAL_SCALE_VNF, ns_instance_id) try: + req_serializer = ManualScaleNsReqSerializer(data=request.data) + if not req_serializer.is_valid(): + raise NSLCMException(req_serializer.errors) + NSManualScaleService(ns_instance_id, request.data, job_id).start() + + resp_serializer = NsOperateJobSerializer(data={'jobId': job_id}) + if not resp_serializer.is_valid(): + raise NSLCMException(resp_serializer.errors) + + return Response(data=resp_serializer.data, status=status.HTTP_202_ACCEPTED) except Exception as e: logger.error(traceback.format_exc()) JobUtil.add_job_status(job_id, 255, 'NS scale failed: %s' % e.message) return Response(data={'error': 'NS scale failed: %s' % ns_instance_id}, status=status.HTTP_500_INTERNAL_SERVER_ERROR) - return Response(data={'jobId': job_id}, status=status.HTTP_202_ACCEPTED) |