We exuberantly announce the release of: tooz 1.47.0: Coordination library for distributed systems. This release is part of the ocata release series. The source is available from: http://git.openstack.org/cgit/openstack/tooz Download the package from: https://pypi.python.org/pypi/tooz Please report issues through launchpad: http://bugs.launchpad.net/python-tooz/ For more details, please see below. 1.47.0 ^^^^^^ New Features * Add *tooz.hashring*, a consistent hash ring implementation. * Introduce a new partitioner object. This object is synchronized within a group of nodes and exposes a way to distribute object management across several nodes. Changes in tooz 1.46.0..1.47.0 ------------------------------ 9ad740f Add partitioner implementation f3dddcf Stop making tooz.utils depending on tooz.coordination 3a36a64 [doc] Note lack of constraints is a choice 87e6d67 The 'moves.moved_class' function creates a new class e9c8c82 Add weight support to the hashring d417b44 coordination: allow to pass capabilities in join_group_create() 12461f3 coordination: fix moved_class usage for ToozError e5540b6 zookeeper: switch to standard group membership watching e29ca79 Add a hashring implementation 04866ab Move ToozError to root module a5a27dd Fixup concurrent modification 79a311b Replaces uuid.uuid4 with uuidutils.generate_uuid() 486524c redis: make sure we don't release and heartbeat a lock at the same time Diffstat (except docs and test files) ------------------------------------- examples/hashring.py | 15 ++ examples/partitioner.py | 11 + releasenotes/notes/hashring-0470f9119ef63d49.yaml | 3 + .../notes/partitioner-4005767d287dc7c9.yaml | 6 + tools/tox_install.sh | 30 +++ tooz/__init__.py | 19 +- tooz/coordination.py | 128 +++++------ tooz/drivers/etcd.py | 13 +- tooz/drivers/file.py | 14 +- tooz/drivers/ipc.py | 8 +- tooz/drivers/memcached.py | 19 +- tooz/drivers/mysql.py | 16 +- tooz/drivers/pgsql.py | 12 +- tooz/drivers/redis.py | 74 ++++--- tooz/drivers/zookeeper.py | 235 +++++++-------------- tooz/hashring.py | 144 +++++++++++++ tooz/partitioner.py | 107 ++++++++++ tooz/utils.py | 64 ++++-- tox.ini | 1 + 31 files changed, 962 insertions(+), 346 deletions(-)