aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorfujinhua <fu.jinhua@zte.com.cn>2018-01-29 14:14:14 +0800
committerfujinhua <fu.jinhua@zte.com.cn>2018-01-29 14:14:14 +0800
commit96e7252cfb393e78b8061453134371865b2bdf2b (patch)
treea8c8136138407f0c9369e826c9c6364fc017e559
parenta50ca420d2a478d95c6dea62d0e9f1e1920987d9 (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.py19
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)