aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorfujinhua <fu.jinhua@zte.com.cn>2018-01-29 13:17:43 +0800
committerfujinhua <fu.jinhua@zte.com.cn>2018-01-29 13:17:43 +0800
commitaf023cc4309e26c44cd1928be050bb389cb69d02 (patch)
tree4f88738df718944ab90fbb69b7e64fb15214a99f
parent177455a7245ed535733a3657b0ed12552fbf11b7 (diff)
Add NS post deal swagger generate logic
Change-Id: I55c81bbb09fb581218730a5b534a9c99d5e73f7d Issue-ID: VFC-680 Signed-off-by: fujinhua <fu.jinhua@zte.com.cn>
-rw-r--r--lcm/ns/serializers.py2
-rw-r--r--lcm/ns/views.py11
2 files changed, 12 insertions, 1 deletions
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)