summaryrefslogtreecommitdiff
path: root/ironic/conductor/base_manager.py
diff options
context:
space:
mode:
authorJim Rollenhagen <jim@jimrollenhagen.com>2016-11-17 14:14:20 +0000
committerJulia Kreger <juliaashleykreger@gmail.com>2017-01-19 00:30:24 +0000
commitb08e536831f3aa745c01480110b00dd859f6968e (patch)
tree157fdf3ceb9a8fac1fd5f1fd56156c9fa18bd3ae /ironic/conductor/base_manager.py
parent98bdf8791bbb4e76cbdfe889143056fdb58f784f (diff)
downloadironic-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.py8
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,