diff options
author | gord chung <gord@live.ca> | 2017-02-14 18:08:37 +0000 |
---|---|---|
committer | gordon chung <gord@live.ca> | 2017-03-03 19:04:31 +0000 |
commit | b530fc3ec8eada4a2c0114c174e357b74e965da7 (patch) | |
tree | 8d7ae2e81478dd67319bb217acf021ed73530b9b /ceilometer/utils.py | |
parent | bb9d96286835dc0806dc21ac560b51c16cf34e96 (diff) | |
download | ceilometer-b530fc3ec8eada4a2c0114c174e357b74e965da7.tar.gz |
use tooz hashring
tooz provides hashring functionality so let's avoid duplicating it
since we already use tooz
Change-Id: Id40e4836c5690d252ba0830f6173587f8d5d470c
Diffstat (limited to 'ceilometer/utils.py')
-rw-r--r-- | ceilometer/utils.py | 34 |
1 files changed, 0 insertions, 34 deletions
diff --git a/ceilometer/utils.py b/ceilometer/utils.py index e8b51e40..47517931 100644 --- a/ceilometer/utils.py +++ b/ceilometer/utils.py @@ -18,13 +18,10 @@ """Utilities and helper functions.""" -import bisect import calendar import copy import datetime import decimal -import hashlib -import struct import threading import time @@ -219,37 +216,6 @@ def hash_of_set(s): return str(hash(frozenset(s))) -class HashRing(object): - - def __init__(self, nodes, replicas=100): - self._ring = dict() - self._sorted_keys = [] - - for node in nodes: - for r in six.moves.range(replicas): - hashed_key = self._hash('%s-%s' % (node, r)) - self._ring[hashed_key] = node - self._sorted_keys.append(hashed_key) - self._sorted_keys.sort() - - @staticmethod - def _hash(key): - return struct.unpack_from('>I', - hashlib.md5(decode_unicode(six - .text_type(key))).digest())[0] - - def _get_position_on_ring(self, key): - hashed_key = self._hash(key) - position = bisect.bisect(self._sorted_keys, hashed_key) - return position if position < len(self._sorted_keys) else 0 - - def get_node(self, key): - if not self._ring: - return None - pos = self._get_position_on_ring(key) - return self._ring[self._sorted_keys[pos]] - - def kill_listeners(listeners): # NOTE(gordc): correct usage of oslo.messaging listener is to stop(), # which stops new messages, and wait(), which processes remaining |