Add docs for new consul driver

Change-Id: Ica007008d95cf2c9e5917b7258b793179ed63e1d
This commit is contained in:
Joshua Harlow 2016-05-12 22:17:48 -07:00 committed by Joshua Harlow
parent 6daa485eeb
commit 170680e93c
4 changed files with 45 additions and 16 deletions

View File

@ -24,11 +24,11 @@ APIs
Driver support
--------------
=========================================== =========================================== ========================================= ===================================================== ============================================= ================================================ ============================================= =========================================== =================================================
:py:class:`~tooz.drivers.etcd.EtcdDriver` :py:class:`~tooz.drivers.file.FileDriver` :py:class:`~tooz.drivers.ipc.IPCDriver` :py:class:`~tooz.drivers.memcached.MemcachedDriver` :py:class:`~tooz.drivers.mysql.MySQLDriver` :py:class:`~tooz.drivers.pgsql.PostgresDriver` :py:class:`~tooz.drivers.redis.RedisDriver` :py:class:`~tooz.drivers.zake.ZakeDriver` :py:class:`~tooz.drivers.zookeeper.KazooDriver`
=========================================== =========================================== ========================================= ===================================================== ============================================= ================================================ ============================================= =========================================== =================================================
No Yes No Yes No No Yes Yes Yes
=========================================== =========================================== ========================================= ===================================================== ============================================= ================================================ ============================================= =========================================== =================================================
=============================================== =========================================== =========================================== ========================================= ===================================================== ============================================= ================================================ ============================================= =========================================== =================================================
:py:class:`~tooz.drivers.consul.ConsulDriver` :py:class:`~tooz.drivers.etcd.EtcdDriver` :py:class:`~tooz.drivers.file.FileDriver` :py:class:`~tooz.drivers.ipc.IPCDriver` :py:class:`~tooz.drivers.memcached.MemcachedDriver` :py:class:`~tooz.drivers.mysql.MySQLDriver` :py:class:`~tooz.drivers.pgsql.PostgresDriver` :py:class:`~tooz.drivers.redis.RedisDriver` :py:class:`~tooz.drivers.zake.ZakeDriver` :py:class:`~tooz.drivers.zookeeper.KazooDriver`
=============================================== =========================================== =========================================== ========================================= ===================================================== ============================================= ================================================ ============================================= =========================================== =================================================
No No Yes No Yes No No Yes Yes Yes
=============================================== =========================================== =========================================== ========================================= ===================================================== ============================================= ================================================ ============================================= =========================================== =================================================
Leaders
=======
@ -44,11 +44,11 @@ APIs
Driver support
--------------
=========================================== =========================================== ========================================= ===================================================== ============================================= ================================================ ============================================= =========================================== =================================================
:py:class:`~tooz.drivers.etcd.EtcdDriver` :py:class:`~tooz.drivers.file.FileDriver` :py:class:`~tooz.drivers.ipc.IPCDriver` :py:class:`~tooz.drivers.memcached.MemcachedDriver` :py:class:`~tooz.drivers.mysql.MySQLDriver` :py:class:`~tooz.drivers.pgsql.PostgresDriver` :py:class:`~tooz.drivers.redis.RedisDriver` :py:class:`~tooz.drivers.zake.ZakeDriver` :py:class:`~tooz.drivers.zookeeper.KazooDriver`
=========================================== =========================================== ========================================= ===================================================== ============================================= ================================================ ============================================= =========================================== =================================================
No No No Yes No No Yes Yes Yes
=========================================== =========================================== ========================================= ===================================================== ============================================= ================================================ ============================================= =========================================== =================================================
=============================================== =========================================== =========================================== ========================================= ===================================================== ============================================= ================================================ ============================================= =========================================== =================================================
:py:class:`~tooz.drivers.consul.ConsulDriver` :py:class:`~tooz.drivers.etcd.EtcdDriver` :py:class:`~tooz.drivers.file.FileDriver` :py:class:`~tooz.drivers.ipc.IPCDriver` :py:class:`~tooz.drivers.memcached.MemcachedDriver` :py:class:`~tooz.drivers.mysql.MySQLDriver` :py:class:`~tooz.drivers.pgsql.PostgresDriver` :py:class:`~tooz.drivers.redis.RedisDriver` :py:class:`~tooz.drivers.zake.ZakeDriver` :py:class:`~tooz.drivers.zookeeper.KazooDriver`
=============================================== =========================================== =========================================== ========================================= ===================================================== ============================================= ================================================ ============================================= =========================================== =================================================
No No No No Yes No No Yes Yes Yes
=============================================== =========================================== =========================================== ========================================= ===================================================== ============================================= ================================================ ============================================= =========================================== =================================================
Locking
=======
@ -61,9 +61,8 @@ APIs
Driver support
--------------
=========================================== =========================================== ========================================= ===================================================== ============================================= ================================================ ============================================= =========================================== =================================================
:py:class:`~tooz.drivers.etcd.EtcdDriver` :py:class:`~tooz.drivers.file.FileDriver` :py:class:`~tooz.drivers.ipc.IPCDriver` :py:class:`~tooz.drivers.memcached.MemcachedDriver` :py:class:`~tooz.drivers.mysql.MySQLDriver` :py:class:`~tooz.drivers.pgsql.PostgresDriver` :py:class:`~tooz.drivers.redis.RedisDriver` :py:class:`~tooz.drivers.zake.ZakeDriver` :py:class:`~tooz.drivers.zookeeper.KazooDriver`
=========================================== =========================================== ========================================= ===================================================== ============================================= ================================================ ============================================= =========================================== =================================================
Yes Yes Yes Yes Yes Yes Yes Yes Yes
=========================================== =========================================== ========================================= ===================================================== ============================================= ================================================ ============================================= =========================================== =================================================
=============================================== =========================================== =========================================== ========================================= ===================================================== ============================================= ================================================ ============================================= =========================================== =================================================
:py:class:`~tooz.drivers.consul.ConsulDriver` :py:class:`~tooz.drivers.etcd.EtcdDriver` :py:class:`~tooz.drivers.file.FileDriver` :py:class:`~tooz.drivers.ipc.IPCDriver` :py:class:`~tooz.drivers.memcached.MemcachedDriver` :py:class:`~tooz.drivers.mysql.MySQLDriver` :py:class:`~tooz.drivers.pgsql.PostgresDriver` :py:class:`~tooz.drivers.redis.RedisDriver` :py:class:`~tooz.drivers.zake.ZakeDriver` :py:class:`~tooz.drivers.zookeeper.KazooDriver`
=============================================== =========================================== =========================================== ========================================= ===================================================== ============================================= ================================================ ============================================= =========================================== =================================================
Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
=============================================== =========================================== =========================================== ========================================= ===================================================== ============================================= ================================================ ============================================= =========================================== =================================================

View File

@ -8,6 +8,12 @@ Interfaces
.. autoclass:: tooz.coordination.CoordinationDriver
:members:
Consul
~~~~~~
.. autoclass:: tooz.drivers.consul.ConsulDriver
:members:
Etcd
~~~~

View File

@ -198,12 +198,32 @@ The etcd driver is a driver providing only distributed locks (for now)
and is based on the `etcd server`_ supported key/value storage and
associated primitives.
Consul
------
**Driver:** :py:class:`tooz.drivers.consul.ConsulDriver`
**Characteristics:**
:py:attr:`tooz.drivers.consul.ConsulDriver.CHARACTERISTICS`
**Entrypoint name:** ``consul``
**Summary:**
The `consul`_ driver is a driver providing only distributed locks (for now)
and is based on the consul server key/value storage and/or
primitives. When a lock is acquired it will release either when explicitly
released or automatically when the consul session ends (for example if
the program using the lock crashes).
Characteristics
---------------
.. autoclass:: tooz.coordination.Characteristics
.. _etcd server: https://coreos.com/etcd/
.. _consul: https://www.consul.io/
.. _advisory locks: http://www.postgresql.org/docs/8.2/interactive/\
explicit-locking.html#ADVISORY-LOCKS
.. _get_lock: http://dev.mysql.com/doc/refman/5.5/en/\

View File

@ -33,6 +33,7 @@ def print_methods(methods):
driver_tpl = ":py:class:`~tooz.drivers.%s`"
driver_class_names = [
"consul.ConsulDriver",
"etcd.EtcdDriver",
"file.FileDriver",
"ipc.IPCDriver",
@ -72,6 +73,7 @@ print_header("Driver support", delim="-")
print("")
grouping_table = [
[
"No", # Consul
"No", # Etcd
"Yes", # File
"No", # IPC
@ -103,6 +105,7 @@ print_header("Driver support", delim="-")
print("")
leader_table = [
[
"No", # Consul
"No", # Etcd
"No", # File
"No", # IPC
@ -131,6 +134,7 @@ print_header("Driver support", delim="-")
print("")
lock_table = [
[
"Yes", # Consul
"Yes", # Etcd
"Yes", # File
"Yes", # IPC