aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorfujinhua <fu.jinhua@zte.com.cn>2018-02-07 17:16:57 +0800
committerfujinhua <fu.jinhua@zte.com.cn>2018-02-07 17:27:19 +0800
commit8c1f8d67e295bddcc91095734ca5aad62af7129f (patch)
treeb06334ec9d38779b977b00ed898e5e7282f362c7
parent2f099f702ab5502291d8c3053f979d145be50edb (diff)
Add verify vnf swagger generate logic
Change-Id: I287c6d1a5fddad523ac16c4636cfc541b882281e Issue-ID: VFC-714 Signed-off-by: fujinhua <fu.jinhua@zte.com.cn>
-rw-r--r--lcm/ns/vnfs/views.py27
1 files changed, 25 insertions, 2 deletions
diff --git a/lcm/ns/vnfs/views.py b/lcm/ns/vnfs/views.py
index 0479d1a0..61100975 100644
--- a/lcm/ns/vnfs/views.py
+++ b/lcm/ns/vnfs/views.py
@@ -42,6 +42,8 @@ from lcm.ns.vnfs.serializers import GrantVnfRespSerializer
from lcm.ns.vnfs.serializers import NotifyLcmReqSerializer
from lcm.ns.vnfs.serializers import ScaleVnfReqSerializer
from lcm.ns.vnfs.serializers import ScaleVnfRespSerializer
+from lcm.ns.vnfs.serializers import VerifyVnfReqSerializer
+from lcm.ns.vnfs.serializers import VerifyVnfRespSerializer
logger = logging.getLogger(__name__)
@@ -218,11 +220,32 @@ class NfScaleView(APIView):
class NfVerifyView(APIView):
+ @swagger_auto_schema(
+ request_body=VerifyVnfReqSerializer(),
+ responses={
+ status.HTTP_202_ACCEPTED: VerifyVnfRespSerializer(),
+ status.HTTP_409_CONFLICT: "Inner error"
+ }
+ )
def post(self, request):
job_id = "VNFSDK_" + str(uuid.uuid4())
logger.debug("NfVerifyView--post::%s> %s", job_id, request.data)
- VerifyVnfs(request.data, job_id).start()
- return Response(data={"jobId": job_id}, status=status.HTTP_202_ACCEPTED)
+ try:
+ req_serializer = VerifyVnfReqSerializer(data=request.data)
+ if not req_serializer.is_valid():
+ raise Exception(req_serializer.errors)
+
+ VerifyVnfs(request.data, job_id).start()
+
+ rsp = {"jobId": job_id}
+ resp_serializer = VerifyVnfRespSerializer(data=rsp)
+ if not resp_serializer.is_valid():
+ raise Exception(resp_serializer.errors)
+
+ return Response(data=rsp, status=status.HTTP_202_ACCEPTED)
+ except Exception as e:
+ logger.error(e.message)
+ return Response(data={'error': '%s' % e.message}, status=status.HTTP_409_CONFLICT)
class NfVnfmInfoView(APIView):