This documentation was written by Jose A. Rivera
2016 Jose A. Rivera

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, see .

ctdb-etcd 7 ctdb CTDB - clustered TDB database
ctdb-etcd CTDB etcd integration
`ctdb_etcd_lock`

## DESCRIPTION

ctdb_etcd_lock is intended to be run as a mutex helper for CTDB. It will try to connect to an existing etcd cluster and grab a lock in that cluster to function as CTDB's cluster lock. Please see ctdb/doc/cluster_mutex_helper.txt for details on the mutex helper API. To use this, include the following line in the `[cluster]` section of ctdb.conf 5:

    cluster lock = !/usr/local/usr/libexec/ctdb/ctdb_etcd_lock

You can also pass "-v", "-vv", or "-vvv" to include verbose output in the CTDB log. Additional "v"s indicate increases in verbosity.

This mutex helper expects the system Python interpreter to have access to the etcd Python module. It also expects an etcd cluster to be configured and running. To integrate with this, there is an optional config file of the following format:

    key = value

The following configuration parameters (and their defaults) are defined for use by ctdb_etcd_lock:

    port      = 2379   # connecting port for the etcd cluster
    lock_ttl  = 9      # seconds for TTL
    refresh   = 2      # seconds between attempts to maintain lock
    locks_dir = _ctdb  # where to store CTDB locks in etcd
                       # The final etcd directory for any given lock looks like:
                       #   /_locks/{locks_dir}/{netbios name}/

In addition, any keyword parameter that can be used to configure an etcd client may be specified and modified here. For more documentation on these parameters, see here: https://github.com/jplana/python-etcd/

## SEE ALSO

ctdb 7, ctdbd 1,