From 1a64383a68d43f8f99611a24fada76484f1c1fc7 Mon Sep 17 00:00:00 2001 From: Jean-Emile DARTOIS Date: Fri, 18 Dec 2015 15:22:08 +0100 Subject: [PATCH] Rename NovaWrapper to NovaClient This patchset aim to rename the nova client class and move it with the other openstack clients in the folder openstack/common. Change-Id: Ie8aab199922985f42ad85e6688f0727b24f53ffd --- .../primitives/change_nova_service_state.py | 7 +- watcher/applier/primitives/migration.py | 9 ++- .../applier/primitives/wrapper/__init__.py | 0 .../nova_wrapper.py => common/nova.py} | 2 +- .../cluster_model_collector/manager.py | 6 +- .../tests/applier/actions/wrapper/__init__.py | 0 .../test_nova_client.py} | 66 +++++++++---------- 7 files changed, 45 insertions(+), 45 deletions(-) delete mode 100644 watcher/applier/primitives/wrapper/__init__.py rename watcher/{applier/primitives/wrapper/nova_wrapper.py => common/nova.py} (99%) delete mode 100644 watcher/tests/applier/actions/wrapper/__init__.py rename watcher/tests/{applier/actions/wrapper/test_nova_wrapper.py => common/test_nova_client.py} (68%) diff --git a/watcher/applier/primitives/change_nova_service_state.py b/watcher/applier/primitives/change_nova_service_state.py index e43e2963b..6773a927c 100644 --- a/watcher/applier/primitives/change_nova_service_state.py +++ b/watcher/applier/primitives/change_nova_service_state.py @@ -20,12 +20,13 @@ from oslo_config import cfg + from watcher._i18n import _ from watcher.applier.primitives.base import BasePrimitive -from watcher.applier.primitives.wrapper.nova_wrapper import NovaWrapper from watcher.applier.promise import Promise from watcher.common.exception import IllegalArgumentException from watcher.common.keystone import KeystoneClient +from watcher.common.nova import NovaClient from watcher.decision_engine.model.hypervisor_state import HypervisorState CONF = cfg.CONF @@ -74,8 +75,8 @@ class ChangeNovaServiceState(BasePrimitive): _("The target state is not defined")) keystone = KeystoneClient() - wrapper = NovaWrapper(keystone.get_credentials(), - session=keystone.get_session()) + wrapper = NovaClient(keystone.get_credentials(), + session=keystone.get_session()) if state is True: return wrapper.enable_service_nova_compute(self.host) else: diff --git a/watcher/applier/primitives/migration.py b/watcher/applier/primitives/migration.py index 12058956a..428bd0cb2 100644 --- a/watcher/applier/primitives/migration.py +++ b/watcher/applier/primitives/migration.py @@ -21,11 +21,10 @@ from keystoneclient.auth.identity import v3 from keystoneclient import session from oslo_config import cfg - from watcher.applier.primitives.base import BasePrimitive -from watcher.applier.primitives.wrapper.nova_wrapper import NovaWrapper from watcher.applier.promise import Promise from watcher.common.keystone import KeystoneClient +from watcher.common.nova import NovaClient from watcher.decision_engine.planner.default import Primitives CONF = cfg.CONF @@ -44,8 +43,8 @@ class Migrate(BasePrimitive): def migrate(self, destination): keystone = KeystoneClient() - wrapper = NovaWrapper(keystone.get_credentials(), - session=keystone.get_session()) + wrapper = NovaClient(keystone.get_credentials(), + session=keystone.get_session()) instance = wrapper.find_instance(self.instance_uuid) if instance: project_id = getattr(instance, "tenant_id") @@ -66,7 +65,7 @@ class Migrate(BasePrimitive): project_domain_name=creds2[ 'project_domain_name']) sess2 = session.Session(auth=auth2) - wrapper2 = NovaWrapper(creds2, session=sess2) + wrapper2 = NovaClient(creds2, session=sess2) # todo(jed) remove Primitves if self.migration_type is Primitives.COLD_MIGRATE: diff --git a/watcher/applier/primitives/wrapper/__init__.py b/watcher/applier/primitives/wrapper/__init__.py deleted file mode 100644 index e69de29bb..000000000 diff --git a/watcher/applier/primitives/wrapper/nova_wrapper.py b/watcher/common/nova.py similarity index 99% rename from watcher/applier/primitives/wrapper/nova_wrapper.py rename to watcher/common/nova.py index 5ec43b456..b5b2c76df 100644 --- a/watcher/applier/primitives/wrapper/nova_wrapper.py +++ b/watcher/common/nova.py @@ -33,7 +33,7 @@ import novaclient.exceptions as nvexceptions LOG = log.getLogger(__name__) -class NovaWrapper(object): +class NovaClient(object): NOVA_CLIENT_API_VERSION = "2" def __init__(self, creds, session): diff --git a/watcher/metrics_engine/cluster_model_collector/manager.py b/watcher/metrics_engine/cluster_model_collector/manager.py index a2ad6a41b..e138ea8a0 100644 --- a/watcher/metrics_engine/cluster_model_collector/manager.py +++ b/watcher/metrics_engine/cluster_model_collector/manager.py @@ -20,8 +20,8 @@ from oslo_config import cfg from oslo_log import log -from watcher.applier.primitives.wrapper.nova_wrapper import NovaWrapper from watcher.common.keystone import KeystoneClient +from watcher.common.nova import NovaClient from watcher.metrics_engine.cluster_model_collector.nova import \ NovaClusterModelCollector @@ -32,6 +32,6 @@ CONF = cfg.CONF class CollectorManager(object): def get_cluster_model_collector(self): keystone = KeystoneClient() - wrapper = NovaWrapper(keystone.get_credentials(), - session=keystone.get_session()) + wrapper = NovaClient(keystone.get_credentials(), + session=keystone.get_session()) return NovaClusterModelCollector(wrapper=wrapper) diff --git a/watcher/tests/applier/actions/wrapper/__init__.py b/watcher/tests/applier/actions/wrapper/__init__.py deleted file mode 100644 index e69de29bb..000000000 diff --git a/watcher/tests/applier/actions/wrapper/test_nova_wrapper.py b/watcher/tests/common/test_nova_client.py similarity index 68% rename from watcher/tests/applier/actions/wrapper/test_nova_wrapper.py rename to watcher/tests/common/test_nova_client.py index 45c935cfe..d6e53a404 100644 --- a/watcher/tests/applier/actions/wrapper/test_nova_wrapper.py +++ b/watcher/tests/common/test_nova_client.py @@ -24,15 +24,15 @@ import keystoneclient.v3.client as ksclient import mock import novaclient.client as nvclient -from watcher.applier.primitives.wrapper.nova_wrapper import NovaWrapper +from watcher.common.nova import NovaClient from watcher.common import utils from watcher.tests import base -class TestNovaWrapper(base.TestCase): +class TestNovaClient(base.TestCase): def setUp(self): - super(TestNovaWrapper, self).setUp() + super(TestNovaClient, self).setUp() self.instance_uuid = "fb5311b7-37f3-457e-9cde-6494a3c59bfe" self.source_hypervisor = "ldev-indeedsrv005" self.destination_hypervisor = "ldev-indeedsrv006" @@ -43,38 +43,38 @@ class TestNovaWrapper(base.TestCase): @mock.patch.object(ksclient, "Client", mock.Mock()) @mock.patch.object(nvclient, "Client", mock.Mock()) def test_stop_instance(self): - wrapper = NovaWrapper(creds=self.creds, session=self.session) + nova_client = NovaClient(creds=self.creds, session=self.session) instance_id = utils.generate_uuid() server = mock.MagicMock() server.id = instance_id setattr(server, 'OS-EXT-STS:vm_state', 'stopped') - wrapper.nova.servers = mock.MagicMock() - wrapper.nova.servers.find.return_value = server - wrapper.nova.servers.list.return_value = [server] + nova_client.nova.servers = mock.MagicMock() + nova_client.nova.servers.find.return_value = server + nova_client.nova.servers.list.return_value = [server] - result = wrapper.stop_instance(instance_id) + result = nova_client.stop_instance(instance_id) self.assertEqual(result, True) @mock.patch.object(ksclient, "Client", mock.Mock()) @mock.patch.object(nvclient, "Client", mock.Mock()) def test_set_host_offline(self): - wrapper = NovaWrapper(creds=self.creds, session=self.session) + nova_client = NovaClient(creds=self.creds, session=self.session) host = mock.MagicMock() - wrapper.nova.hosts = mock.MagicMock() - wrapper.nova.hosts.get.return_value = host - result = wrapper.set_host_offline("rennes") + nova_client.nova.hosts = mock.MagicMock() + nova_client.nova.hosts.get.return_value = host + result = nova_client.set_host_offline("rennes") self.assertEqual(result, True) @mock.patch.object(time, 'sleep', mock.Mock()) @mock.patch.object(ksclient, "Client", mock.Mock()) @mock.patch.object(nvclient, "Client", mock.Mock()) def test_live_migrate_instance(self): - wrapper = NovaWrapper(creds=self.creds, session=self.session) + nova_client = NovaClient(creds=self.creds, session=self.session) server = mock.MagicMock() server.id = self.instance_uuid - wrapper.nova.servers = mock.MagicMock() - wrapper.nova.servers.list.return_value = [server] - instance = wrapper.live_migrate_instance( + nova_client.nova.servers = mock.MagicMock() + nova_client.nova.servers.list.return_value = [server] + instance = nova_client.live_migrate_instance( self.instance_uuid, self.destination_hypervisor ) self.assertIsNotNone(instance) @@ -82,11 +82,11 @@ class TestNovaWrapper(base.TestCase): @mock.patch.object(ksclient, "Client", mock.Mock()) @mock.patch.object(nvclient, "Client", mock.Mock()) def test_watcher_non_live_migrate_instance_not_found(self): - wrapper = NovaWrapper(creds=self.creds, session=self.session) - wrapper.nova.servers.list.return_value = [] - wrapper.nova.servers.find.return_value = None + nova_client = NovaClient(creds=self.creds, session=self.session) + nova_client.nova.servers.list.return_value = [] + nova_client.nova.servers.find.return_value = None - is_success = wrapper.watcher_non_live_migrate_instance( + is_success = nova_client.watcher_non_live_migrate_instance( self.instance_uuid, self.destination_hypervisor) @@ -96,12 +96,12 @@ class TestNovaWrapper(base.TestCase): @mock.patch.object(ksclient, "Client", mock.Mock()) @mock.patch.object(nvclient, "Client", mock.Mock()) def test_watcher_non_live_migrate_instance_volume(self): - wrapper = NovaWrapper(creds=self.creds, session=self.session) + nova_client = NovaClient(creds=self.creds, session=self.session) instance = mock.MagicMock(id=self.instance_uuid) setattr(instance, 'OS-EXT-SRV-ATTR:host', self.source_hypervisor) - wrapper.nova.servers.list.return_value = [instance] - wrapper.nova.servers.find.return_value = instance - instance = wrapper.watcher_non_live_migrate_instance( + nova_client.nova.servers.list.return_value = [instance] + nova_client.nova.servers.find.return_value = instance + instance = nova_client.watcher_non_live_migrate_instance( self.instance_uuid, self.destination_hypervisor) self.assertIsNotNone(instance) @@ -110,7 +110,7 @@ class TestNovaWrapper(base.TestCase): @mock.patch.object(ksclient, "Client", mock.Mock()) @mock.patch.object(nvclient, "Client", mock.Mock()) def test_watcher_non_live_migrate_keep_image(self): - wrapper = NovaWrapper(creds=self.creds, session=self.session) + nova_client = NovaClient(creds=self.creds, session=self.session) instance = mock.MagicMock(id=self.instance_uuid) setattr(instance, 'OS-EXT-SRV-ATTR:host', self.source_hypervisor) addresses = mock.MagicMock() @@ -122,9 +122,9 @@ class TestNovaWrapper(base.TestCase): setattr(instance, 'addresses', addresses) setattr(instance, "os-extended-volumes:volumes_attached", attached_volumes) - wrapper.nova.servers.list.return_value = [instance] - wrapper.nova.servers.find.return_value = instance - instance = wrapper.watcher_non_live_migrate_instance( + nova_client.nova.servers.list.return_value = [instance] + nova_client.nova.servers.find.return_value = instance + instance = nova_client.watcher_non_live_migrate_instance( self.instance_uuid, self.destination_hypervisor, keep_original_image_name=False) self.assertIsNotNone(instance) @@ -134,20 +134,20 @@ class TestNovaWrapper(base.TestCase): @mock.patch.object(nvclient, "Client", mock.Mock()) @mock.patch.object(glclient, "Client") def test_create_image_from_instance(self, m_glance_cls): - wrapper = NovaWrapper(creds=self.creds, session=self.session) + nova_client = NovaClient(creds=self.creds, session=self.session) instance = mock.MagicMock() image = mock.MagicMock() setattr(instance, 'OS-EXT-SRV-ATTR:host', self.source_hypervisor) - wrapper.nova.servers.list.return_value = [instance] - wrapper.nova.servers.find.return_value = instance + nova_client.nova.servers.list.return_value = [instance] + nova_client.nova.servers.find.return_value = instance image_uuid = 'fake-image-uuid' - wrapper.nova.servers.create_image.return_value = image + nova_client.nova.servers.create_image.return_value = image m_glance = mock.MagicMock() m_glance_cls.return_value = m_glance m_glance.images = {image_uuid: image} - instance = wrapper.create_image_from_instance( + instance = nova_client.create_image_from_instance( self.instance_uuid, "Cirros" ) self.assertIsNone(instance)