update get network structre 46/104546/2 frankfurt 6.0.0-ONAP
authorhewei-cmss <hewei@cmss.chinamobile.com>
Fri, 27 Mar 2020 07:49:53 +0000 (15:49 +0800)
committerhewei-cmss <hewei@cmss.chinamobile.com>
Fri, 27 Mar 2020 08:01:51 +0000 (16:01 +0800)
Issue-ID: VFC-1599

Signed-off-by: hewei-cmss <hewei@cmss.chinamobile.com>
Change-Id: I45cebb73e45774d450ed44ee6a31cb036b4684e8

res/res/biz/networks_get.py [new file with mode: 0644]
res/res/resources/urls.py
res/res/resources/views/get_networks_view.py [new file with mode: 0644]
res/res/resources/views/views.py

diff --git a/res/res/biz/networks_get.py b/res/res/biz/networks_get.py
new file mode 100644 (file)
index 0000000..46b4fa2
--- /dev/null
@@ -0,0 +1,46 @@
+# Copyright @ 2020 China Mobile (SuZhou) Software Technology Co.,Ltd.\r
+#\r
+# Licensed under the Apache License, Version 2.0 (the "License");\r
+# you may not use this file except in compliance with the License.\r
+# You may obtain a copy of the License at\r
+#\r
+#         http://www.apache.org/licenses/LICENSE-2.0\r
+#\r
+# Unless required by applicable law or agreed to in writing, software\r
+# distributed under the License is distributed on an "AS IS" BASIS,\r
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+# See the License for the specific language governing permissions and\r
+# limitations under the License.\r
+import logging\r
+\r
+from res.biz.base import BaseService\r
+from res.pub.database.models import NetworkInstModel\r
+from res.resources.serializers import NetworkInfoSerializer\r
+\r
+logger = logging.getLogger(__name__)\r
+\r
+\r
+class GetNetworksService(BaseService):\r
+\r
+    def __init__(self):\r
+        super(GetNetworksService, self).__init__()\r
+\r
+    def get_networks(self, vnf_instance_id):\r
+        return self.query_resources(\r
+            res_type="Networks",\r
+            logger=logger,\r
+            resources=NetworkInstModel.objects.filter(instid=vnf_instance_id),\r
+            cvt_fun=self.fill_networks_data,\r
+            res_serializer=NetworkInfoSerializer\r
+        )\r
+\r
+    def fill_networks_data(self, network):\r
+        networks_data = {\r
+            "networkid": network.networkid,\r
+            "vimid": network.vimid,\r
+            "resouceid": network.resouceid,\r
+            "insttype": network.insttype,\r
+            "instid": network.instid,\r
+            "name": network.name\r
+        }\r
+        return networks_data\r
index 2088caf..0bfcb3a 100644 (file)
@@ -14,6 +14,7 @@
 
 from django.conf.urls import url
 
 
 from django.conf.urls import url
 
+from res.resources.views.get_networks_view import GetNetworksView
 from res.resources.views.get_flavors_view import GetFlavorsView
 from res.resources.views.get_vnfs_view import GetVnfView
 from res.resources.views.get_vnfs_view import GetVnfsView
 from res.resources.views.get_flavors_view import GetFlavorsView
 from res.resources.views.get_vnfs_view import GetVnfView
 from res.resources.views.get_vnfs_view import GetVnfsView
@@ -26,7 +27,7 @@ urlpatterns = [
     url(r'^api/vnfres/v1/vnfs$', GetVnfsView.as_view(), name='get_vnfs'),
     url(r'^api/vnfres/v1/(?P<vnf_instance_id>[0-9a-zA-Z\-\_]+)/vms$', GetVmsView.as_view(), name='get_vms'),
     url(r'^api/vnfres/v1/(?P<vnf_instance_id>[0-9a-zA-Z\-\_]+)/flavors$', GetFlavorsView.as_view(), name='get_flavors'),
     url(r'^api/vnfres/v1/vnfs$', GetVnfsView.as_view(), name='get_vnfs'),
     url(r'^api/vnfres/v1/(?P<vnf_instance_id>[0-9a-zA-Z\-\_]+)/vms$', GetVmsView.as_view(), name='get_vms'),
     url(r'^api/vnfres/v1/(?P<vnf_instance_id>[0-9a-zA-Z\-\_]+)/flavors$', GetFlavorsView.as_view(), name='get_flavors'),
-    url(r'^api/vnfres/v1/(?P<vnfInstanceId>[0-9a-zA-Z\-\_]+)/networks$', views.getNetworks.as_view(), name='get_networks'),
+    url(r'^api/vnfres/v1/(?P<vnf_instance_id>[0-9a-zA-Z\-\_]+)/networks$', GetNetworksView.as_view(), name='get_networks'),
     url(r'^api/vnfres/v1/(?P<vnfInstanceId>[0-9a-zA-Z\-\_]+)/subnets$', views.getSubnets.as_view(), name='get_subnets'),
     url(r'^api/vnfres/v1/(?P<vnfInstanceId>[0-9a-zA-Z\-\_]+)/cps$', views.getCps.as_view(), name='get_cps'),
     url(r'^api/vnfres/v1/(?P<vnfInstanceId>[0-9a-zA-Z\-\_]+)/volumes$', views.getVolumes.as_view(), name='get_volumes'),
     url(r'^api/vnfres/v1/(?P<vnfInstanceId>[0-9a-zA-Z\-\_]+)/subnets$', views.getSubnets.as_view(), name='get_subnets'),
     url(r'^api/vnfres/v1/(?P<vnfInstanceId>[0-9a-zA-Z\-\_]+)/cps$', views.getCps.as_view(), name='get_cps'),
     url(r'^api/vnfres/v1/(?P<vnfInstanceId>[0-9a-zA-Z\-\_]+)/volumes$', views.getVolumes.as_view(), name='get_volumes'),
diff --git a/res/res/resources/views/get_networks_view.py b/res/res/resources/views/get_networks_view.py
new file mode 100644 (file)
index 0000000..ef07b06
--- /dev/null
@@ -0,0 +1,34 @@
+# Copyright @ 2020 China Mobile (SuZhou) Software Technology Co.,Ltd.\r
+#\r
+# Licensed under the Apache License, Version 2.0 (the "License");\r
+# you may not use this file except in compliance with the License.\r
+# You may obtain a copy of the License at\r
+#\r
+#         http://www.apache.org/licenses/LICENSE-2.0\r
+#\r
+# Unless required by applicable law or agreed to in writing, software\r
+# distributed under the License is distributed on an "AS IS" BASIS,\r
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+# See the License for the specific language governing permissions and\r
+# limitations under the License.\r
+import logging\r
+\r
+from rest_framework import status\r
+from rest_framework.views import APIView\r
+from drf_yasg.utils import swagger_auto_schema\r
+from res.resources.serializers import NetworkInfoSerializer\r
+from res.resources.views.base_view import view_safe_call_with_log\r
+from res.biz.networks_get import GetNetworksService\r
+logger = logging.getLogger(__name__)\r
+\r
+\r
+class GetNetworksView(APIView):\r
+    @swagger_auto_schema(\r
+        responses={\r
+            status.HTTP_200_OK: NetworkInfoSerializer(),\r
+            status.HTTP_500_INTERNAL_SERVER_ERROR: 'internal error'\r
+        }\r
+    )\r
+    @view_safe_call_with_log(logger=logger)\r
+    def get(self, request, vnf_instance_id):\r
+        return GetNetworksService().get_networks(vnf_instance_id)\r
index cb5e6b5..31d4ee8 100644 (file)
@@ -21,13 +21,11 @@ from rest_framework.views import APIView
 \r
 from res.pub.exceptions import VNFRESException\r
 from res.pub.database.models import StorageInstModel\r
 \r
 from res.pub.exceptions import VNFRESException\r
 from res.pub.database.models import StorageInstModel\r
-from res.pub.database.models import NetworkInstModel\r
 from res.pub.database.models import SubNetworkInstModel\r
 from res.pub.database.models import CPInstModel\r
 from res.resources.serializers import VolumeInfoSerializer\r
 from res.resources.serializers import CpsInfoSerializer\r
 from res.resources.serializers import SubnetInfoSerializer\r
 from res.pub.database.models import SubNetworkInstModel\r
 from res.pub.database.models import CPInstModel\r
 from res.resources.serializers import VolumeInfoSerializer\r
 from res.resources.serializers import CpsInfoSerializer\r
 from res.resources.serializers import SubnetInfoSerializer\r
-from res.resources.serializers import NetworkInfoSerializer\r
 from res.resources.views.base_view import view_safe_call_with_log\r
 \r
 logger = logging.getLogger(__name__)\r
 from res.resources.views.base_view import view_safe_call_with_log\r
 \r
 logger = logging.getLogger(__name__)\r
@@ -50,36 +48,6 @@ def query_resources(res_type, logger, resources, cvt_fun, res_serializer):
     )\r
 \r
 \r
     )\r
 \r
 \r
-class getNetworks(APIView):\r
-    @swagger_auto_schema(\r
-        responses={\r
-            status.HTTP_200_OK: NetworkInfoSerializer(),\r
-            status.HTTP_500_INTERNAL_SERVER_ERROR: 'internal error'\r
-        }\r
-    )\r
-    @view_safe_call_with_log(logger=logger)\r
-    def get(self, request, vnfInstanceId):\r
-        return query_resources(\r
-            res_type="Networks",\r
-            logger=logger,\r
-            resources=NetworkInstModel.objects.filter(instid=vnfInstanceId),\r
-            cvt_fun=fill_networks_data,\r
-            res_serializer=NetworkInfoSerializer\r
-        )\r
-\r
-\r
-def fill_networks_data(network):\r
-    networks_data = {\r
-        "networkid": network.networkid,\r
-        "vimid": network.vimid,\r
-        "resouceid": network.resouceid,\r
-        "insttype": network.insttype,\r
-        "instid": network.instid,\r
-        "name": network.name\r
-    }\r
-    return networks_data\r
-\r
-\r
 class getSubnets(APIView):\r
     @swagger_auto_schema(\r
         responses={\r
 class getSubnets(APIView):\r
     @swagger_auto_schema(\r
         responses={\r