Interface alignment with ETSI for createVnf 19/33319/1
authorying.yunlong <ying.yunlong@zte.com.cn>
Wed, 28 Feb 2018 02:26:05 +0000 (10:26 +0800)
committerying.yunlong <ying.yunlong@zte.com.cn>
Wed, 28 Feb 2018 02:26:05 +0000 (10:26 +0800)
Change-Id: Ic1f6b674a3187314927cea0200b86cd22f74662b
Issue-ID: VFC-780
Signed-off-by: ying.yunlong <ying.yunlong@zte.com.cn>
lcm/lcm/nf/views.py
lcm/lcm/nf/vnf_create/create_vnf_identifier.py
lcm/lcm/v2/views.py

index 94860d7..0db9d5f 100644 (file)
@@ -72,7 +72,8 @@ class CreateVnfAndQueryVnfs(APIView):
             if not req_serializer.is_valid():
                 raise NFLCMException(req_serializer.errors)
 
-            nf_inst_id = CreateVnf(req_serializer.data).do_biz()
+            resp = CreateVnf(req_serializer.data).do_biz()
+            nf_inst_id = resp.get('id', 'undefined')
 
             create_vnf_resp_serializer = CreateVnfRespSerializer(data={"vnfInstanceId": nf_inst_id})
             if not create_vnf_resp_serializer.is_valid():
index 12f540d..62571a1 100644 (file)
@@ -63,7 +63,19 @@ class CreateVnf:
                      'description is [%s],create_time is [%s]' %
                      (vnf_inst.nfinstid, vnf_inst.nf_name, vnf_inst.vnfdid,
                       vnf_inst.vnfd_model, vnf_inst.nf_desc, vnf_inst.create_time))
-        return self.nf_inst_id
+        resp = {
+            'id': vnf_inst.nfinstid,
+            'vnfInstanceName': vnf_inst.nf_name,
+            'vnfInstanceDescription': 'Human-readable description of the VNF instance.',
+            'vnfdId': vnf_inst.vnfdid,
+            'vnfProvider': vnf_inst.vendor,
+            'vnfProductName': vnf_inst.nf_name,
+            'vnfSoftwareVersion': vnf_inst.vnfSoftwareVersion,
+            'vnfdVersion': vnf_inst.version,
+            'vnfPkgId': vnf_inst.package_id,
+            'vnfConfigurableProperties': []
+        }
+        return resp
 
     def check_valid(self):
         logger.debug("CreateVnf--check_valid::> %s" % self.data)
index 1c66c1c..8fdb8e6 100644 (file)
@@ -20,7 +20,7 @@ from rest_framework import status
 from rest_framework.response import Response
 from rest_framework.views import APIView
 
-from lcm.nf.serializers import CreateVnfReqSerializer, CreateVnfRespSerializer
+from lcm.nf.serializers import CreateVnfReqSerializer
 from lcm.nf.vnf_create.create_vnf_identifier import CreateVnf
 from lcm.pub.exceptions import NFLCMException
 from lcm.v2.serializers import VnfInstanceSerializer
@@ -43,12 +43,12 @@ class CreateVnfAndQueryVnfs(APIView):
             if not req_serializer.is_valid():
                 raise NFLCMException(req_serializer.errors)
 
-            nf_inst_id = CreateVnf(req_serializer.data).do_biz()
+            resp = CreateVnf(req_serializer.data).do_biz()
 
-            create_vnf_resp_serializer = CreateVnfRespSerializer(data={"vnfInstanceId": nf_inst_id})
-            if not create_vnf_resp_serializer.is_valid():
-                raise NFLCMException(create_vnf_resp_serializer.errors)
-            return Response(data=create_vnf_resp_serializer.data, status=status.HTTP_201_CREATED)
+            vnfInstanceSerializer = VnfInstanceSerializer(data=resp)
+            if not vnfInstanceSerializer.is_valid():
+                raise NFLCMException(vnfInstanceSerializer.errors)
+            return Response(data=vnfInstanceSerializer.data, status=status.HTTP_201_CREATED)
         except NFLCMException as e:
             logger.error(e.message)
             return Response(data={'error': '%s' % e.message}, status=status.HTTP_500_INTERNAL_SERVER_ERROR)