From 4d6d05f9f9040090c8b22e55073c39a0d91f8078 Mon Sep 17 00:00:00 2001 From: fujinhua Date: Mon, 25 Mar 2019 11:33:56 +0800 Subject: Add serializer for update nfvo info Change-Id: Ic43c4d625a5821245ec057d1b869d2769884c8d1 Issue-ID: VFC-1307 Signed-off-by: fujinhua --- zte/vmanager/driver/interfaces/serializers.py | 18 ++++++++++++++++++ zte/vmanager/driver/interfaces/views.py | 14 +++++++++++--- 2 files changed, 29 insertions(+), 3 deletions(-) diff --git a/zte/vmanager/driver/interfaces/serializers.py b/zte/vmanager/driver/interfaces/serializers.py index 9384b21f..1d518df1 100644 --- a/zte/vmanager/driver/interfaces/serializers.py +++ b/zte/vmanager/driver/interfaces/serializers.py @@ -545,3 +545,21 @@ class VnfPkgsSerializer(serializers.Serializer): many=True, required=False, allow_null=True) + + +class NfvoInfoReqSerializer(serializers.Serializer): + nfvoid = serializers.CharField( + help_text="nfvoid", + max_length=255, + required=False, + allow_null=True) + vnfmid = serializers.CharField( + help_text="nfvoid", + max_length=255, + required=False, + allow_null=True) + nfvourl = serializers.CharField( + help_text="nfvoid", + max_length=255, + required=False, + allow_null=True) diff --git a/zte/vmanager/driver/interfaces/views.py b/zte/vmanager/driver/interfaces/views.py index cd184e8b..d3c5a831 100644 --- a/zte/vmanager/driver/interfaces/views.py +++ b/zte/vmanager/driver/interfaces/views.py @@ -28,7 +28,7 @@ from django.http import StreamingHttpResponse from driver.interfaces.serializers import HealReqSerializer, InstScaleHealRespSerializer, ScaleReqSerializer, \ NotifyReqSerializer, GrantRespSerializer, GrantReqSerializer, JobQueryRespSerializer, TerminateVnfRequestSerializer, \ InstantiateVnfRequestSerializer, QueryVnfResponseSerializer, SubscribesRespSerializer, \ - SubscribeReqSerializer, SubscribeRespSerializer, VnfPkgsSerializer + SubscribeReqSerializer, SubscribeRespSerializer, VnfPkgsSerializer, NfvoInfoReqSerializer from driver.pub.config.config import VNF_FTP from driver.pub.utils import restcall from driver.pub.utils.restcall import req_by_msb @@ -716,6 +716,13 @@ class VnfPkg(APIView): class NfvoInfo(APIView): + @swagger_auto_schema( + request_body=NfvoInfoReqSerializer(), + responses={ + status.HTTP_200_OK: "Update successfully", + status.HTTP_500_INTERNAL_SERVER_ERROR: "Internal error" + } + ) def put(self, request, vnfmid): logger.debug("====NfvoInfo put====%s", vnfmid) req_data = { @@ -725,7 +732,7 @@ class NfvoInfo(APIView): } ret = get_vnfminfo_from_nslcm(vnfmid) if ret[0] != 0: - raise Exception(ret[1]) + return Response(data={'error': ret[1]}, status=status.HTTP_500_INTERNAL_SERVER_ERROR) vnfm_info = json.JSONDecoder().decode(ret[1]) logger.debug("[%s] vnfm_info=%s", fun_name(), vnfm_info) @@ -738,5 +745,6 @@ class NfvoInfo(APIView): method='put', content=json.dumps(req_data)) if ret[0] != 0: - raise Exception(ret[1]) + return Response(data={'error': ret[1]}, status=status.HTTP_500_INTERNAL_SERVER_ERROR) logger.debug("update nfvo info successfully.") + return Response(data={}, status=status.HTTP_200_OK) -- cgit 1.2.3-korg