From: fujinhua Date: Mon, 29 Jan 2018 05:17:43 +0000 (+0800) Subject: Add NS post deal swagger generate logic X-Git-Tag: v1.1.0~205^2 X-Git-Url: https://gerrit.onap.org/r/gitweb?a=commitdiff_plain;h=refs%2Fchanges%2F33%2F29433%2F1;p=vfc%2Fnfvo%2Flcm.git Add NS post deal swagger generate logic Change-Id: I55c81bbb09fb581218730a5b534a9c99d5e73f7d Issue-ID: VFC-680 Signed-off-by: fujinhua --- 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)