Add serializer for update nfvo info 30/83130/1
authorfujinhua <fu.jinhua@zte.com.cn>
Mon, 25 Mar 2019 03:33:56 +0000 (11:33 +0800)
committerfujinhua <fu.jinhua@zte.com.cn>
Mon, 25 Mar 2019 03:33:56 +0000 (11:33 +0800)
Change-Id: Ic43c4d625a5821245ec057d1b869d2769884c8d1
Issue-ID: VFC-1307
Signed-off-by: fujinhua <fu.jinhua@zte.com.cn>
zte/vmanager/driver/interfaces/serializers.py
zte/vmanager/driver/interfaces/views.py

index 9384b21..1d518df 100644 (file)
@@ -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)
index cd184e8..d3c5a83 100644 (file)
@@ -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)