summaryrefslogtreecommitdiff
path: root/ceilometer/utils.py
diff options
context:
space:
mode:
authorgord chung <gord@live.ca>2017-02-14 18:08:37 +0000
committergordon chung <gord@live.ca>2017-03-03 19:04:31 +0000
commitb530fc3ec8eada4a2c0114c174e357b74e965da7 (patch)
tree8d7ae2e81478dd67319bb217acf021ed73530b9b /ceilometer/utils.py
parentbb9d96286835dc0806dc21ac560b51c16cf34e96 (diff)
downloadceilometer-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.py34
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