On python2 in case of unicode objects, str() was causing UnicodeEncodeError.
Also utf8 encoding as a default (mostly for Python2)
Change-Id: I64373133f65c5b11daa3462b7c21a55d06738c09
The `hash` method is random on Python 3, so it's not consistent between. Just
use the string representation of the object as a default.
Change-Id: I84e2b19b64dc1641f9758429248dc6b928122b18
Closes-Bug: #1743243
The capabilities was meant to be a byte string only, but since now all drivers
have been enhanced to serialize the data in a way or another, it accepts
anything. There's no need to pass a byte string anymore.
Change-Id: Ib732dccd18d67edd9e39e990b8ca3a8da7ab5663
partitioner does not capture the weight of existing members so
members do not have the same weights for each other depending on
when they joined
Change-Id: Ibb2a9ed92d2b38c4ab888133cf66c14cf8a5a052
Add a new object called `Partitioner' which is based on the consistent
hashring implementation of tooz.hashring. The coordinator API allows to
create such an object and to use it to dispatch objects ownership across
several workers.
Change-Id: Iae8c861d5b6c15b714f1ec3bd7090d15dd468421