A thread-safe pooled client was added in 1.2.9
so we no longer need to subclass to add on thread
safety to achieve the same result.
Change-Id: Ida963da86dc2fb56580801f549ca557b76dd1c73
Instead of having redis, mysql, ipc, zookeeper, memcache in
requirements.txt (which are only needed if those drivers are used) be
always required move them to test-requirements.txt and require users
to install the correct requirement for there expected usage.
This leaves zake as a requirement, as that driver is the examples
default and is an in-memory driver that should/could be the default
when no other driver is accessible...
Change-Id: I410864646bb2fa401e5c827dda9bd70c6c225c74
Instead of requiring library users to wait for a GC
pass to close the file descriptor, make it possible
for a explicit close() call to do the same.
This makes it possible for users of these locks to
avoid running out of file descriptors that they are
unable to close.
Change-Id: I3fabc57b2f0f6b1cef45553cac7e04732a9c2489
For better tooz adoption, we'll need the requirements to be sync'ed
to global requirements. sysv_ipc is only on linux platforms and NOT
on windows platforms, and as it is a optional plugin, let's specify
that in test-requirements
Change-Id: I4c9e1098dbcd480a2efdf3c73acb99431fe0b242
Depends-On: If934a117039b4101190aba98dfe33ae491027956
Depends-On: I9660a0af74e8b43942f99a6f889213b457cd85db
Adjust the docs to generate in the common OpenStack
format using the common OpenStack theme.
Also adjust the copyright to now be the 'OpenStack
Foundation' instead of being 'eNovance' now that
this code is under the openstack repositories.
Change-Id: I4026e80a1c98a8052d306d104bc92c70a3a36c3e
Instead of raising raw psycopg2 errors/exceptions from the
postgresql driver we should make an attempt to translate
those errors/exceptions into a equivalent tooz exception to
make it so that users of tooz can handle the known driver
failure modes in a sane manner (users expecting to user tooz
as a pluggable abstraction will not be able to handle raw
psycopg2 errors/exceptions, especially if those users are
using different tooz backends at the same time).
Change-Id: Ic95e5fa21bb25096a31b5c5e38aa0b14afa05d87
The zake driver should theoretically function the same as the
non-local driver so all the same kazoo functions should work,
without the whole distributed part as they work with the regular
zookeeper backed kazoo driver.
Change-Id: I19df0da0e58c5624ca1b10f61c42510f1f104847
0.1 brings in quite a few new hotness than prior
to it. The big one is multi-client -> single storage
which mimics many zookeeper clients attached to
the same zookeeper.
Change-Id: Iee6f4157743a094dd0d59dc12e66592594d54792
The Tooz asynchronous API rely on zookeeper client asynchronous
API. Each asynchronous call will return a future like object.
Change-Id: Ibee9bf8ae0d1c1f62318f46b58ee25631e9e319a
This patch add a new driver which mimic a Kazoo client
without the need to use a real zookeeper server.
The dependency Zake (written by Joshua Harlow:harlowja@gmail.com)
has been added which provides the Kazoo API.
Change-Id: I53ca9ac972d6e2dca2f9e04b6187ee0545813e74
For now Tooz is composed of a simple API and use ZooKeeper
as the first backend.
The current API provide the group membership protocol like
'servicegroup' in Nova, we enriched it by adding the notion
of capabilities. The API is currently synchronous, we plan to
design an asynchronous one. The notification mechanism is not yet
available. Please read the associated blueprint for more details:
https://wiki.openstack.org/wiki/Oslo/blueprints/service-sync
All new backends must implement api.CoordinationDriver and
validate the unit tests. Tooz will provide a unique unit-tests suite
which will be run against all backends.
Change-Id: I4e4cefb52cf6c39a3f6ba35ab1d4ef34a77b5811