Pārlūkot izejas kodu

Refactor endpoint_* modules into single endpoint_resources module

Daniel Vincze 5 gadi atpakaļ
vecāks
revīzija
ce4f41869c

+ 4 - 4
coriolis/api/v1/endpoint_instances.py

@@ -5,9 +5,9 @@ from oslo_log import log as logging
 
 from coriolis import utils
 from coriolis.api import common
-from coriolis.api.v1.views import endpoint_instance_view
+from coriolis.api.v1.views import endpoint_resources_view
 from coriolis.api import wsgi as api_wsgi
-from coriolis.endpoint_instances import api
+from coriolis.endpoint_resources import api
 from coriolis.policies import endpoints as endpoint_policies
 
 LOG = logging.getLogger(__name__)
@@ -31,7 +31,7 @@ class EndpointInstanceController(api_wsgi.Controller):
         else:
             env = {}
 
-        return endpoint_instance_view.collection(
+        return endpoint_resources_view.instances_collection(
             req, self._instance_api.get_endpoint_instances(
                 context, endpoint_id, env, marker, limit,
                 instance_name_pattern))
@@ -51,7 +51,7 @@ class EndpointInstanceController(api_wsgi.Controller):
         else:
             env = {}
 
-        return endpoint_instance_view.single(
+        return endpoint_resources_view.instance_single(
             req, self._instance_api.get_endpoint_instance(
                 req.environ['coriolis.context'], endpoint_id, env, id))
 

+ 3 - 3
coriolis/api/v1/endpoint_networks.py

@@ -4,9 +4,9 @@
 from oslo_log import log as logging
 
 from coriolis import utils
-from coriolis.api.v1.views import endpoint_network_view
+from coriolis.api.v1.views import endpoint_resources_view
 from coriolis.api import wsgi as api_wsgi
-from coriolis.endpoint_networks import api
+from coriolis.endpoint_resources import api
 from coriolis.policies import endpoints as endpoint_policies
 
 LOG = logging.getLogger(__name__)
@@ -27,7 +27,7 @@ class EndpointNetworkController(api_wsgi.Controller):
         else:
             env = {}
 
-        return endpoint_network_view.collection(
+        return endpoint_resources_view.networks_collection(
             req, self._network_api.get_endpoint_networks(
                 context, endpoint_id, env))
 

+ 3 - 3
coriolis/api/v1/endpoint_storage.py

@@ -4,9 +4,9 @@
 from oslo_log import log as logging
 
 from coriolis import utils
-from coriolis.api.v1.views import endpoint_storage_view
+from coriolis.api.v1.views import endpoint_resources_view
 from coriolis.api import wsgi as api_wsgi
-from coriolis.endpoint_storage import api
+from coriolis.endpoint_resources import api
 from coriolis.policies import endpoints as endpoint_policies
 
 LOG = logging.getLogger(__name__)
@@ -27,7 +27,7 @@ class EndpointStorageController(api_wsgi.Controller):
         else:
             env = {}
 
-        return endpoint_storage_view.collection(
+        return endpoint_resources_view.storage_collection(
             req, self._storage_api.get_endpoint_storage(
                 context, endpoint_id, env))
 

+ 0 - 24
coriolis/api/v1/views/endpoint_instance_view.py

@@ -1,24 +0,0 @@
-# Copyright 2016 Cloudbase Solutions Srl
-# All Rights Reserved.
-
-import itertools
-
-
-def _format_instance(req, instance, keys=None):
-    def transform(key, value):
-        if keys and key not in keys:
-            return
-        yield (key, value)
-
-    return dict(itertools.chain.from_iterable(
-        transform(k, v) for k, v in instance.items()))
-
-
-def single(req, instance):
-    return {"instance": _format_instance(req, instance)}
-
-
-def collection(req, instances):
-    formatted_instances = [_format_instance(req, m)
-                           for m in instances]
-    return {'instances': formatted_instances}

+ 0 - 23
coriolis/api/v1/views/endpoint_network_view.py

@@ -1,23 +0,0 @@
-# Copyright 2017 Cloudbase Solutions Srl
-# All Rights Reserved.
-
-import itertools
-
-
-def _format_network(req, network, keys=None):
-    def transform(key, value):
-        if keys and key not in keys:
-            return
-        yield (key, value)
-
-    return dict(itertools.chain.from_iterable(
-        transform(k, v) for k, v in network.items()))
-
-
-def single(req, network):
-    return {"network": _format_network(req, network)}
-
-
-def collection(req, networks):
-    formatted_networks = [_format_network(req, m) for m in networks]
-    return {'networks': formatted_networks}

+ 38 - 0
coriolis/api/v1/views/endpoint_resources_view.py

@@ -0,0 +1,38 @@
+# Copyright 2020 Cloudbase Solutions Srl
+# All Rights Reserved.
+
+import itertools
+
+
+def _format_resource(req, resource, keys=None):
+    def transform(key, value):
+        if keys and key not in keys:
+            return
+        yield (key, value)
+
+    return dict(itertools.chain.from_iterable(
+        transform(k, v) for k, v in resource.items()))
+
+
+def instance_single(req, instance):
+    return {"instance": _format_resource(req, instance)}
+
+
+def instances_collection(req, instances):
+    formatted_instances = [_format_resource(req, m)
+                           for m in instances]
+    return {'instances': formatted_instances}
+
+
+def network_single(req, network):
+    return {"network": _format_resource(req, network)}
+
+
+def networks_collection(req, networks):
+    formatted_networks = [_format_resource(req, m) for m in networks]
+    return {'networks': formatted_networks}
+
+
+def storage_collection(req, storage):
+    formatted_storages = _format_resource(req, storage)
+    return {'storage': formatted_storages}

+ 0 - 19
coriolis/api/v1/views/endpoint_storage_view.py

@@ -1,19 +0,0 @@
-# Copyright 2018 Cloudbase Solutions Srl
-# All Rights Reserved.
-
-import itertools
-
-
-def _format_storage(req, storage, keys=None):
-    def transform(key, value):
-        if keys and key not in keys:
-            return
-        yield (key, value)
-
-    return dict(itertools.chain.from_iterable(
-        transform(k, v) for k, v in storage.items()))
-
-
-def collection(req, storage):
-    formatted_storages = _format_storage(req, storage)
-    return {'storage': formatted_storages}

+ 0 - 0
coriolis/endpoint_instances/__init__.py


+ 0 - 0
coriolis/endpoint_networks/__init__.py


+ 0 - 13
coriolis/endpoint_networks/api.py

@@ -1,13 +0,0 @@
-# Copyright 2017 Cloudbase Solutions Srl
-# All Rights Reserved.
-
-from coriolis.conductor.rpc import client as rpc_client
-
-
-class API(object):
-    def __init__(self):
-        self._rpc_client = rpc_client.ConductorClient()
-
-    def get_endpoint_networks(self, ctxt, endpoint_id, env):
-        return self._rpc_client.get_endpoint_networks(
-            ctxt, endpoint_id, env)

+ 2 - 0
coriolis/endpoint_resources/__init__.py

@@ -0,0 +1,2 @@
+# Copyright 2020 Cloudbase Solutions Srl
+# All Rights Reserved.

+ 9 - 1
coriolis/endpoint_instances/api.py → coriolis/endpoint_resources/api.py

@@ -1,4 +1,4 @@
-# Copyright 2016 Cloudbase Solutions Srl
+# Copyright 2020 Cloudbase Solutions Srl
 # All Rights Reserved.
 
 from coriolis.conductor.rpc import client as rpc_client
@@ -19,3 +19,11 @@ class API(object):
             self, ctxt, endpoint_id, source_environment, instance_name):
         return self._rpc_client.get_endpoint_instance(
             ctxt, endpoint_id, source_environment, instance_name)
+
+    def get_endpoint_networks(self, ctxt, endpoint_id, env):
+        return self._rpc_client.get_endpoint_networks(
+            ctxt, endpoint_id, env)
+
+    def get_endpoint_storage(self, ctxt, endpoint_id, env):
+        return self._rpc_client.get_endpoint_storage(
+            ctxt, endpoint_id, env)

+ 0 - 0
coriolis/endpoint_storage/__init__.py


+ 0 - 13
coriolis/endpoint_storage/api.py

@@ -1,13 +0,0 @@
-# Copyright 2017 Cloudbase Solutions Srl
-# All Rights Reserved.
-
-from coriolis.conductor.rpc import client as rpc_client
-
-
-class API(object):
-    def __init__(self):
-        self._rpc_client = rpc_client.ConductorClient()
-
-    def get_endpoint_storage(self, ctxt, endpoint_id, env):
-        return self._rpc_client.get_endpoint_storage(
-            ctxt, endpoint_id, env)