diff --git a/ctdb/doc/ctdb_mutex_ceph_rados_helper.7.xml b/ctdb/doc/ctdb_mutex_ceph_rados_helper.7.xml new file mode 100644 index 00000000000..bde5d7200ad --- /dev/null +++ b/ctdb/doc/ctdb_mutex_ceph_rados_helper.7.xml @@ -0,0 +1,90 @@ + + + + + + Ceph RADOS Mutex + 7 + ctdb + CTDB - clustered TDB database + + + + ctdb_mutex_ceph_rados_helper + Ceph RADOS cluster mutex helper + + + + DESCRIPTION + + ctdb_mutex_ceph_rados_helper can be used as a recovery lock provider + for CTDB. When configured, split brain avoidance during CTDB recovery + will be handled using locks against an object located in a Ceph RADOS + pool. + To enable this functionality, include the following line in your CTDB + config file: + + +CTDB_RECOVERY_LOCK="!ctdb_mutex_ceph_rados_helper [Cluster] [User] [Pool] [Object]" + +Cluster: Ceph cluster name (e.g. ceph) +User: Ceph cluster user name (e.g. client.admin) +Pool: Ceph RADOS pool name +Object: Ceph RADOS object name + + + The Ceph cluster Cluster must be up and running, + with a configuration, and keyring file for User + located in a librados default search path (e.g. /etc/ceph/). + Pool must already exist. + + + + + SEE ALSO + + ctdb + 7, + + ctdbd + 1, + + + + + + + + + This documentation was written by David Disseldorp + + + + + 2016 + David Disseldorp + + + + 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 + . + + + + + diff --git a/ctdb/wscript b/ctdb/wscript index 59bd8e2e7d5..23134564e51 100644 --- a/ctdb/wscript +++ b/ctdb/wscript @@ -58,6 +58,10 @@ manpages_etcd = [ 'ctdb-etcd.7', ] +manpages_ceph = [ + 'ctdb_mutex_ceph_rados_helper.7', +] + def set_options(opt): opt.PRIVATE_EXTENSION_DEFAULT('ctdb') @@ -273,7 +277,9 @@ def configure(conf): conf.env.ctdb_prebuilt_manpages = [] manpages = manpages_binary + manpages_misc if conf.env.etcd_reclock: - manpages = manpages + manpages_etcd + manpages += manpages_etcd + if conf.env.HAVE_LIBRADOS: + manpages += manpages_ceph for m in manpages: if os.path.exists(os.path.join("doc", m)): Logs.info(" %s: yes" % (m)) @@ -572,7 +578,9 @@ def build(bld): manpages_extra = manpages_misc if bld.env.etcd_reclock: - manpages_extra = manpages_extra + manpages_etcd + manpages_extra += manpages_etcd + if bld.env.HAVE_LIBRADOS: + manpages_extra += manpages_ceph for f in manpages_binary + manpages_extra: x = '%s.xml' % (f) bld.SAMBA_GENERATOR(x, @@ -934,7 +942,7 @@ def dist(): MAN_XSL = '%s/manpages/docbook.xsl' % BASE_URL HTML_XSL = '%s/html/docbook.xsl' % BASE_URL CMD_TEMPLATE = 'xsltproc --xinclude -o %s --nonet %s %s' - manpages = manpages_binary + manpages_misc + manpages_etcd + manpages = manpages_binary + manpages_misc + manpages_etcd + manpages_ceph for t in manpages: cmd = CMD_TEMPLATE % ('doc/%s' % t, MAN_XSL, 'doc/%s.xml' % t) ret = samba_utils.RUN_COMMAND(cmd)