Просмотр исходного кода

Merge pull request #165 from Dany9966/module-refactor

Refactor endpoint options and resources modules
Nashwan Azhari 5 лет назад
Родитель
Сommit
87ed9b67b9
30 измененных файлов с 121 добавлено и 225 удалено
  1. 3 4
      coriolis/api/v1/endpoint_destination_minion_pool_options.py
  2. 3 3
      coriolis/api/v1/endpoint_destination_options.py
  3. 4 4
      coriolis/api/v1/endpoint_instances.py
  4. 3 3
      coriolis/api/v1/endpoint_networks.py
  5. 3 4
      coriolis/api/v1/endpoint_source_minion_pool_options.py
  6. 3 3
      coriolis/api/v1/endpoint_source_options.py
  7. 3 3
      coriolis/api/v1/endpoint_storage.py
  8. 0 20
      coriolis/api/v1/views/endpoint_destination_minion_pool_options_view.py
  9. 0 20
      coriolis/api/v1/views/endpoint_destination_options_view.py
  10. 0 24
      coriolis/api/v1/views/endpoint_instance_view.py
  11. 0 23
      coriolis/api/v1/views/endpoint_network_view.py
  12. 38 0
      coriolis/api/v1/views/endpoint_options_view.py
  13. 38 0
      coriolis/api/v1/views/endpoint_resources_view.py
  14. 0 20
      coriolis/api/v1/views/endpoint_source_minion_pool_options_view.py
  15. 0 20
      coriolis/api/v1/views/endpoint_source_options_view.py
  16. 0 19
      coriolis/api/v1/views/endpoint_storage_view.py
  17. 0 0
      coriolis/endpoint_destination_options/__init__.py
  18. 0 14
      coriolis/endpoint_destination_options/api.py
  19. 0 0
      coriolis/endpoint_instances/__init__.py
  20. 0 0
      coriolis/endpoint_minion_pool_options/__init__.py
  21. 0 0
      coriolis/endpoint_networks/__init__.py
  22. 0 13
      coriolis/endpoint_networks/api.py
  23. 2 0
      coriolis/endpoint_options/__init__.py
  24. 10 0
      coriolis/endpoint_options/api.py
  25. 2 0
      coriolis/endpoint_resources/__init__.py
  26. 9 1
      coriolis/endpoint_resources/api.py
  27. 0 0
      coriolis/endpoint_source_options/__init__.py
  28. 0 14
      coriolis/endpoint_source_options/api.py
  29. 0 0
      coriolis/endpoint_storage/__init__.py
  30. 0 13
      coriolis/endpoint_storage/api.py

+ 3 - 4
coriolis/api/v1/endpoint_destination_minion_pool_options.py

@@ -4,10 +4,9 @@
 from oslo_log import log as logging
 
 from coriolis import utils
-from coriolis.api.v1.views import (
-    endpoint_destination_minion_pool_options_view)
+from coriolis.api.v1.views import endpoint_options_view
 from coriolis.api import wsgi as api_wsgi
-from coriolis.endpoint_minion_pool_options import api
+from coriolis.endpoint_options import api
 from coriolis.policies import endpoints as endpoint_policies
 
 
@@ -36,7 +35,7 @@ class EndpointDestinationMinionPoolOptionsController(api_wsgi.Controller):
         else:
             options = {}
 
-        return endpoint_destination_minion_pool_options_view.collection(
+        return endpoint_options_view.destination_minion_pool_options_collection(
             req,
             self._minion_pool_options_api.get_endpoint_destination_minion_pool_options(
                 context, endpoint_id, env=env, option_names=options))

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

@@ -4,9 +4,9 @@
 from oslo_log import log as logging
 
 from coriolis import utils
-from coriolis.api.v1.views import endpoint_destination_options_view
+from coriolis.api.v1.views import endpoint_options_view
 from coriolis.api import wsgi as api_wsgi
-from coriolis.endpoint_destination_options import api
+from coriolis.endpoint_options import api
 from coriolis.policies import endpoints as endpoint_policies
 
 
@@ -35,7 +35,7 @@ class EndpointDestinationOptionsController(api_wsgi.Controller):
         else:
             options = {}
 
-        return endpoint_destination_options_view.collection(
+        return endpoint_options_view.destination_options_collection(
             req,
             self._destination_options_api.get_endpoint_destination_options(
                 context, endpoint_id, env=env, option_names=options))

+ 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 - 4
coriolis/api/v1/endpoint_source_minion_pool_options.py

@@ -4,10 +4,9 @@
 from oslo_log import log as logging
 
 from coriolis import utils
-from coriolis.api.v1.views import (
-        endpoint_source_minion_pool_options_view)
+from coriolis.api.v1.views import endpoint_options_view
 from coriolis.api import wsgi as api_wsgi
-from coriolis.endpoint_minion_pool_options import api
+from coriolis.endpoint_options import api
 from coriolis.policies import endpoints as endpoint_policies
 
 
@@ -36,7 +35,7 @@ class EndpointSourceMinionPoolOptionsController(api_wsgi.Controller):
         else:
             options = {}
 
-        return endpoint_source_minion_pool_options_view.collection(
+        return endpoint_options_view.source_minion_pool_options_collection(
             req,
             self._minion_pool_options_api.get_endpoint_source_minion_pool_options(
                 context, endpoint_id, env=env, option_names=options))

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

@@ -4,9 +4,9 @@
 from oslo_log import log as logging
 
 from coriolis import utils
-from coriolis.api.v1.views import endpoint_source_options_view
+from coriolis.api.v1.views import endpoint_options_view
 from coriolis.api import wsgi as api_wsgi
-from coriolis.endpoint_source_options import api
+from coriolis.endpoint_options import api
 from coriolis.policies import endpoints as endpoint_policies
 
 
@@ -35,7 +35,7 @@ class EndpointSourceOptionsController(api_wsgi.Controller):
         else:
             options = {}
 
-        return endpoint_source_options_view.collection(
+        return endpoint_options_view.source_options_collection(
             req,
             self._source_options_api.get_endpoint_source_options(
                 context, endpoint_id, env=env, option_names=options))

+ 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 - 20
coriolis/api/v1/views/endpoint_destination_minion_pool_options_view.py

@@ -1,20 +0,0 @@
-# Copyright 2020 Cloudbase Solutions Srl
-# All Rights Reserved.
-
-import itertools
-
-
-def _format_dest_opt(req, destination_option, 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 destination_option.items()))
-
-
-def collection(req, destination_pool_options):
-    formatted_opts = [
-        _format_dest_opt(req, opt) for opt in destination_pool_options]
-    return {'destination_minion_pool_options': formatted_opts}

+ 0 - 20
coriolis/api/v1/views/endpoint_destination_options_view.py

@@ -1,20 +0,0 @@
-# Copyright 2018 Cloudbase Solutions Srl
-# All Rights Reserved.
-
-import itertools
-
-
-def _format_dest_opt(req, destination_option, 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 destination_option.items()))
-
-
-def collection(req, destination_options):
-    formatted_opts = [
-        _format_dest_opt(req, opt) for opt in destination_options]
-    return {'destination_options': formatted_opts}

+ 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_options_view.py

@@ -0,0 +1,38 @@
+# Copyright 2020 Cloudbase Solutions Srl
+# All Rights Reserved.
+
+import itertools
+
+
+def _format_opt(req, option, 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 option.items()))
+
+
+def destination_minion_pool_options_collection(req, destination_pool_options):
+    formatted_opts = [
+        _format_opt(req, opt) for opt in destination_pool_options]
+    return {'destination_minion_pool_options': formatted_opts}
+
+
+def destination_options_collection(req, destination_options):
+    formatted_opts = [
+        _format_opt(req, opt) for opt in destination_options]
+    return {'destination_options': formatted_opts}
+
+
+def source_minion_pool_options_collection(req, source_pool_options):
+    formatted_opts = [
+        _format_opt(req, opt) for opt in source_pool_options]
+    return {'source_minion_pool_options': formatted_opts}
+
+
+def source_options_collection(req, source_options):
+    formatted_opts = [
+        _format_opt(req, opt) for opt in source_options]
+    return {'source_options': formatted_opts}

+ 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 - 20
coriolis/api/v1/views/endpoint_source_minion_pool_options_view.py

@@ -1,20 +0,0 @@
-# Copyright 2020 Cloudbase Solutions Srl
-# All Rights Reserved.
-
-import itertools
-
-
-def _format_dest_opt(req, source_option, 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 source_option.items()))
-
-
-def collection(req, source_pool_options):
-    formatted_opts = [
-        _format_dest_opt(req, opt) for opt in source_pool_options]
-    return {'source_minion_pool_options': formatted_opts}

+ 0 - 20
coriolis/api/v1/views/endpoint_source_options_view.py

@@ -1,20 +0,0 @@
-# Copyright 2019 Cloudbase Solutions Srl
-# All Rights Reserved.
-
-import itertools
-
-
-def _format_source_opt(req, source_option, 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 source_option.items()))
-
-
-def collection(req, source_options):
-    formatted_opts = [
-        _format_source_opt(req, opt) for opt in source_options]
-    return {'source_options': formatted_opts}

+ 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_destination_options/__init__.py


+ 0 - 14
coriolis/endpoint_destination_options/api.py

@@ -1,14 +0,0 @@
-# Copyright 2016 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_destination_options(
-            self, ctxt, endpoint_id, env=None, option_names=None):
-        return self._rpc_client.get_endpoint_destination_options(
-            ctxt, endpoint_id, env, option_names)

+ 0 - 0
coriolis/endpoint_instances/__init__.py


+ 0 - 0
coriolis/endpoint_minion_pool_options/__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_options/__init__.py

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

+ 10 - 0
coriolis/endpoint_minion_pool_options/api.py → coriolis/endpoint_options/api.py

@@ -8,6 +8,11 @@ class API(object):
     def __init__(self):
         self._rpc_client = rpc_client.ConductorClient()
 
+    def get_endpoint_destination_options(
+            self, ctxt, endpoint_id, env=None, option_names=None):
+        return self._rpc_client.get_endpoint_destination_options(
+            ctxt, endpoint_id, env, option_names)
+
     def get_endpoint_source_minion_pool_options(
             self, ctxt, endpoint_id, env=None, option_names=None):
         return self._rpc_client.get_endpoint_source_minion_pool_options(
@@ -17,3 +22,8 @@ class API(object):
             self, ctxt, endpoint_id, env=None, option_names=None):
         return self._rpc_client.get_endpoint_destination_minion_pool_options(
             ctxt, endpoint_id, env, option_names)
+
+    def get_endpoint_source_options(
+            self, ctxt, endpoint_id, env=None, option_names=None):
+        return self._rpc_client.get_endpoint_source_options(
+            ctxt, endpoint_id, env, option_names)

+ 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_source_options/__init__.py


+ 0 - 14
coriolis/endpoint_source_options/api.py

@@ -1,14 +0,0 @@
-# Copyright 2019 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_source_options(
-            self, ctxt, endpoint_id, env=None, option_names=None):
-        return self._rpc_client.get_endpoint_source_options(
-            ctxt, endpoint_id, env, option_names)

+ 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)