From af023cc4309e26c44cd1928be050bb389cb69d02 Mon Sep 17 00:00:00 2001 From: fujinhua Date: Mon, 29 Jan 2018 13:17:43 +0800 Subject: Add NS post deal swagger generate logic Change-Id: I55c81bbb09fb581218730a5b534a9c99d5e73f7d Issue-ID: VFC-680 Signed-off-by: fujinhua --- lcm/ns/serializers.py | 2 +- lcm/ns/views.py | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/lcm/ns/serializers.py b/lcm/ns/serializers.py index eda3606c..c1a97a5b 100644 --- a/lcm/ns/serializers.py +++ b/lcm/ns/serializers.py @@ -113,5 +113,5 @@ class HealNsReqSerializer(serializers.Serializer): healVnfData = HealVnfDataSerializer(help_text="Data of heal VNF", required=False, allow_null=True) -class InstNsPostDealSerializer(serializers.Serializer): +class InstNsPostDealReqSerializer(serializers.Serializer): status = serializers.CharField(help_text="Status of NS Inst", required=True) diff --git a/lcm/ns/views.py b/lcm/ns/views.py index a5250848..b07f21ef 100644 --- a/lcm/ns/views.py +++ b/lcm/ns/views.py @@ -37,6 +37,7 @@ from lcm.ns.serializers import NsOperateJobSerializer 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.pub.exceptions import NSLCMException logger = logging.getLogger(__name__) @@ -230,12 +231,22 @@ class NSDetailView(APIView): class NSInstPostDealView(APIView): + @swagger_auto_schema( + request_body=InstNsPostDealReqSerializer(help_text="NS instant post deal"), + responses={ + status.HTTP_202_ACCEPTED: "NS instant post deal success", + status.HTTP_500_INTERNAL_SERVER_ERROR: "Inner error" + } + ) def post(self, request, ns_instance_id): logger.debug("Enter NSInstPostDealView::post %s, %s", request.data, ns_instance_id) ns_post_status = ignore_case_get(request.data, 'status') ns_status = 'ACTIVE' if ns_post_status == 'true' else 'FAILED' ns_opr_status = 'success' if ns_post_status == 'true' else 'failed' try: + req_serializer = InstNsPostDealReqSerializer(data=request.data) + if not req_serializer.is_valid(): + raise NSLCMException(req_serializer.errors) NSInstModel.objects.filter(id=ns_instance_id).update(status=ns_status) ServiceBaseInfoModel.objects.filter(service_id=ns_instance_id).update( active_status=ns_status, status=ns_opr_status) -- cgit 1.2.3-korg