aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoryunlong ying <ying.yunlong@zte.com.cn>2018-01-29 06:22:39 +0000
committerGerrit Code Review <gerrit@onap.org>2018-01-29 06:22:39 +0000
commitea922f3779644a1d0b16182fe0124e16a6b22713 (patch)
tree157bde31525f59538985b02ebf0023ba9fc21aae
parent55d224a89a919fc2bb9e20dd7b3b3d892ee020c4 (diff)
parent96e7252cfb393e78b8061453134371865b2bdf2b (diff)
Merge "Add ns scale swagger generate logic"
-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)