diff options
author | Jim Rollenhagen <jim@jimrollenhagen.com> | 2016-11-17 14:14:20 +0000 |
---|---|---|
committer | Julia Kreger <juliaashleykreger@gmail.com> | 2017-01-19 00:30:24 +0000 |
commit | b08e536831f3aa745c01480110b00dd859f6968e (patch) | |
tree | 157fdf3ceb9a8fac1fd5f1fd56156c9fa18bd3ae /ironic/conductor/base_manager.py | |
parent | 98bdf8791bbb4e76cbdfe889143056fdb58f784f (diff) | |
download | ironic-b08e536831f3aa745c01480110b00dd859f6968e.tar.gz |
Move to tooz hash ring implementation
This changes the ironic driver to use the hash ring implementation from
tooz, which is nearly identical to ironic.common.hash_ring.
Change-Id: I4200be2035067622604e5aa70e025594bcd0a801
Depends-On: Ic1f8b89b819ace8df9b15c61eaf9bf136ad3166b
Diffstat (limited to 'ironic/conductor/base_manager.py')
-rw-r--r-- | ironic/conductor/base_manager.py | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/ironic/conductor/base_manager.py b/ironic/conductor/base_manager.py index e3a2edc21..6c88708ba 100644 --- a/ironic/conductor/base_manager.py +++ b/ironic/conductor/base_manager.py @@ -26,7 +26,7 @@ from oslo_utils import excutils from ironic.common import context as ironic_context from ironic.common import driver_factory from ironic.common import exception -from ironic.common import hash_ring as hash +from ironic.common import hash_ring from ironic.common.i18n import _, _LC, _LE, _LI, _LW from ironic.common import rpc from ironic.common import states @@ -78,7 +78,7 @@ class BaseConductorManager(object): check_and_reject=rejection_func) """Executor for performing tasks async.""" - self.ring_manager = hash.HashRingManager() + self.ring_manager = hash_ring.HashRingManager() """Consistent hash ring which maps drivers to conductors.""" # NOTE(deva): these calls may raise DriverLoadError or DriverNotFound @@ -302,7 +302,9 @@ class BaseConductorManager(object): except exception.DriverNotFound: return False - return self.host in ring.get_hosts(node_uuid) + return self.host in ring.get_nodes( + node_uuid.encode('utf-8'), + replicas=CONF.hash_distribution_replicas) def _fail_if_in_state(self, context, filters, provision_state, sort_key, callback_method=None, |