diff --git a/nova/servicegroup/drivers/base.py b/nova/servicegroup/drivers/base.py index b3ca150552..4e707893b9 100644 --- a/nova/servicegroup/drivers/base.py +++ b/nova/servicegroup/drivers/base.py @@ -27,7 +27,3 @@ class Driver(object): def is_up(self, member): """Check whether the given member is up.""" raise NotImplementedError() - - def get_all(self, group_id): - """Returns ALL members of the given group.""" - raise NotImplementedError() diff --git a/nova/servicegroup/drivers/db.py b/nova/servicegroup/drivers/db.py index ef5c49f992..b204b40f9b 100644 --- a/nova/servicegroup/drivers/db.py +++ b/nova/servicegroup/drivers/db.py @@ -18,9 +18,7 @@ from oslo_log import log as logging from oslo_utils import timeutils import six -from nova import context from nova.i18n import _, _LE -from nova import objects from nova.servicegroup import api from nova.servicegroup.drivers import base @@ -78,18 +76,6 @@ class DbDriver(base.Driver): {'lhb': str(last_heartbeat), 'el': str(elapsed)}) return is_up - def get_all(self, group_id): - """Returns ALL members of the given group - """ - LOG.debug('DB_Driver: get_all members of the %s group', group_id) - rs = [] - ctxt = context.get_admin_context() - services = objects.ServiceList.get_by_topic(ctxt, group_id) - for service in services: - if self.is_up(service): - rs.append(service.host) - return rs - def _report_state(self, service): """Update the state of this service in the datastore.""" try: diff --git a/nova/servicegroup/drivers/mc.py b/nova/servicegroup/drivers/mc.py index 676c39efa7..43d1b52f0e 100644 --- a/nova/servicegroup/drivers/mc.py +++ b/nova/servicegroup/drivers/mc.py @@ -21,9 +21,7 @@ from oslo_config import cfg from oslo_log import log as logging from oslo_utils import timeutils -from nova import context from nova.i18n import _, _LE -from nova import objects from nova.openstack.common import memorycache from nova.servicegroup import api from nova.servicegroup.drivers import base @@ -71,19 +69,6 @@ class MemcachedDriver(base.Driver): return is_up - def get_all(self, group_id): - """Returns ALL members of the given group - """ - LOG.debug('Memcached_Driver: get_all members of the %s group', - group_id) - rs = [] - ctxt = context.get_admin_context() - services = objects.ServiceList.get_by_topic(ctxt, group_id) - for service in services: - if self.is_up(service): - rs.append(service.host) - return rs - def _report_state(self, service): """Update the state of this service in the datastore.""" try: diff --git a/nova/servicegroup/drivers/zk.py b/nova/servicegroup/drivers/zk.py index 48ce686590..259a2d360a 100644 --- a/nova/servicegroup/drivers/zk.py +++ b/nova/servicegroup/drivers/zk.py @@ -137,10 +137,10 @@ class ZooKeeperDriver(base.Driver): def is_up(self, service_ref): group_id = service_ref['topic'] member_id = service_ref['host'] - all_members = self.get_all(group_id) + all_members = self._get_all(group_id) return member_id in all_members - def get_all(self, group_id): + def _get_all(self, group_id): """Return all members in a list, or a ServiceGroupUnavailable exception. """ diff --git a/nova/tests/unit/servicegroup/test_db_servicegroup.py b/nova/tests/unit/servicegroup/test_db_servicegroup.py index 84efdc9479..6e5b98f5bc 100644 --- a/nova/tests/unit/servicegroup/test_db_servicegroup.py +++ b/nova/tests/unit/servicegroup/test_db_servicegroup.py @@ -58,22 +58,6 @@ class DBServiceGroupTestCase(test.NoDBTestCase): result = self.servicegroup_api.service_is_up(service_ref) self.assertFalse(result) - @mock.patch.object(objects.ServiceList, 'get_by_topic') - def test_get_all(self, ga_mock): - hosts = ['fake-host1', 'fake-host2', 'fake-host3'] - service_refs = objects.ServiceList(objects=[ - objects.Service(host=host, topic='compute') for host in hosts]) - ga_mock.return_value = service_refs - with mock.patch.object(self.servicegroup_api._driver, - 'is_up', side_effect=[ - None, - True, # fake host 2 is enabled, all others disabled - None - ]): - services = self.servicegroup_api.get_all('compute') - self.assertEqual(['fake-host2'], services) - ga_mock.assert_called_once_with(mock.ANY, 'compute') - def test_join(self): service = mock.MagicMock(report_interval=1) diff --git a/nova/tests/unit/servicegroup/test_mc_servicegroup.py b/nova/tests/unit/servicegroup/test_mc_servicegroup.py index 1920ed161f..6ee5142f0f 100644 --- a/nova/tests/unit/servicegroup/test_mc_servicegroup.py +++ b/nova/tests/unit/servicegroup/test_mc_servicegroup.py @@ -17,7 +17,6 @@ import mock -from nova import objects from nova import servicegroup from nova import test @@ -47,22 +46,6 @@ class MemcachedServiceGroupTestCase(test.NoDBTestCase): self.assertTrue(self.servicegroup_api.service_is_up(service_ref)) self.mc_client.get.assert_called_once_with('compute:fake-host') - @mock.patch.object(objects.ServiceList, 'get_by_topic') - def test_get_all(self, ga_mock): - hosts = ['fake-host1', 'fake-host2', 'fake-host3'] - service_refs = objects.ServiceList(objects=[ - objects.Service(host=host, topic='compute') for host in hosts]) - ga_mock.return_value = service_refs - self.mc_client.get.side_effect = [ - None, - True, # fake host 2 is enabled, all others disabled - None - ] - - services = self.servicegroup_api.get_all('compute') - self.assertEqual(['fake-host2'], services) - ga_mock.assert_called_once_with(mock.ANY, 'compute') - def test_join(self): service = mock.MagicMock(report_interval=1)