diff --git a/man/Makefile.am b/man/Makefile.am index 41284cbc..314ba053 100644 --- a/man/Makefile.am +++ b/man/Makefile.am @@ -1,178 +1,183 @@ # Copyright (c) 2004 MontaVista Software, Inc. # Copyright (c) 2009, 2012, 2014 Red Hat, Inc. # # Authors: Steven Dake (sdake@redhat.com) # Fabio M. Di Nitto (fdinitto@redhat.com) # # All rights reserved. # # This software licensed under BSD license, the text of which follows: # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions are met: # # - Redistributions of source code must retain the above copyright notice, # this list of conditions and the following disclaimer. # - Redistributions in binary form must reproduce the above copyright notice, # this list of conditions and the following disclaimer in the documentation # and/or other materials provided with the distribution. # - Neither the name of the MontaVista Software, Inc. nor the names of its # contributors may be used to endorse or promote products derived from this # software without specific prior written permission. # # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE # LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF # THE POSSIBILITY OF SUCH DAMAGE. MAINTAINERCLEANFILES = Makefile.in xml_man = corosync-xmlproc.8 \ corosync.xml.5 INDEX_HTML = index.html autogen_man = cpg_context_get.3 \ cpg_context_set.3 \ cpg_dispatch.3 \ cpg_fd_get.3 \ cpg_finalize.3 \ cpg_initialize.3 \ cpg_join.3 \ cpg_leave.3 \ cpg_local_get.3 \ cpg_mcast_joined.3 \ cpg_model_initialize.3 \ cpg_zcb_mcast_joined.3 \ cpg_zcb_alloc.3 \ cpg_zcb_free.3 \ cpg_membership_get.3 \ cpg_iteration_finalize.3 \ cpg_iteration_initialize.3 \ cpg_iteration_next.3 \ quorum_initialize.3 \ quorum_finalize.3 \ quorum_fd_get.3 \ quorum_dispatch.3 \ quorum_context_get.3 \ quorum_context_set.3 \ quorum_getquorate.3 \ quorum_trackstart.3 \ quorum_trackstop.3 \ votequorum_dispatch.3 \ votequorum_fd_get.3 \ votequorum_context_get.3 \ votequorum_context_set.3 \ votequorum_finalize.3 \ votequorum_getinfo.3 \ votequorum_initialize.3 \ votequorum_setexpected.3 \ votequorum_setvotes.3 \ votequorum_trackstart.3 \ votequorum_trackstop.3 \ votequorum_qdevice_register.3 \ votequorum_qdevice_unregister.3 \ votequorum_qdevice_update.3 \ votequorum_qdevice_master_wins.3 \ votequorum_qdevice_poll.3 \ sam_data_getsize.3 \ sam_data_restore.3 \ sam_data_store.3 \ sam_finalize.3 \ sam_hc_callback_register.3 \ sam_hc_send.3 \ sam_initialize.3 \ sam_mark_failed.3 \ sam_register.3 \ sam_start.3 \ sam_stop.3 \ sam_warn_signal_set.3 \ cmap_context_get.3 \ cmap_dec.3 \ cmap_iter_init.3 \ cmap_get.3 \ cmap_inc.3 \ cmap_set.3 \ cmap_iter_next.3 \ cmap_delete.3 \ cmap_iter_finalize.3 \ cmap_finalize.3 \ cmap_dispatch.3 \ cmap_initialize.3 \ cmap_track_add.3 \ cmap_context_set.3 \ cmap_fd_get.3 \ cmap_track_delete.3 autogen_common = ipc_common.sh.errors EXTRA_DIST = $(INDEX_HTML) \ $(xml_man) \ $(autogen_man:%=%.in) \ $(autogen_common) man_MANS = $(autogen_man) dist_man_MANS = corosync.conf.5 \ votequorum.5 \ corosync.8 \ corosync-cmapctl.8 \ corosync-blackbox.8 \ corosync-keygen.8 \ corosync-cfgtool.8 \ corosync-cpgtool.8 \ corosync-notifyd.8 \ corosync-quorumtool.8 \ corosync_overview.8 \ cpg_overview.8 \ quorum_overview.8 \ votequorum_overview.8 \ sam_overview.8 \ cmap_overview.8 \ cmap_keys.8 if INSTALL_XMLCONF dist_man_MANS += $(xml_man) endif +if BUILD_QNETD +dist_man_MANS += corosync-qnetd-tool.8 \ + corosync-qnetd-certutil.8 +endif + HTML_DOCS = $(dist_man_MANS:%=%.html) $(man_MANS:%=%.html) # developer man page generation %.3: %.3.in $(autogen_common) @echo Generating $@ man page && \ rm -f $@-t-t $@-t $@ && \ date="$$(LC_ALL=C date "+%F")" && \ awk "{print}(\$$1 ~ /@COMMONIPCERRORS@/){exit 0}" ${top_srcdir}/man/$@.in > $@-t-t && \ cat ${top_srcdir}/man/$(autogen_common) >> $@-t-t && \ awk -v p=0 "(\$$1 ~ /@COMMONIPCERRORS@/){p = 1} {if(p==1)print}" ${top_srcdir}/man/$@.in >> $@-t-t && \ cat $@-t-t | \ sed -e 's#@BUILDDATE@#'$$date'#g' \ -e 's#@COMMONIPCERRORS@##g' \ > $@-t && \ rm -f $@-t-t && \ mv $@-t $@ clean-local: rm -rf $(HTML_DOCS) $(autogen_man) if BUILD_HTML_DOCS %.html: % $(GROFF) -mandoc -Thtml $^ > $@ install-data-local: $(INSTALL) -d $(DESTDIR)/${docdir}/html $(INSTALL) -m 644 ${srcdir}/$(INDEX_HTML) $(HTML_DOCS) $(DESTDIR)/${docdir}/html/ uninstall-local: cd $(DESTDIR)/${docdir}/html && rm -f $(INDEX_HTML) $(HTML_DOCS) rmdir $(DESTDIR)/${docdir}/html 2> /dev/null || : all-local: $(HTML_DOCS) endif diff --git a/man/corosync-qdevice-tool.8 b/man/corosync-qdevice-tool.8 new file mode 100644 index 00000000..07786e8e --- /dev/null +++ b/man/corosync-qdevice-tool.8 @@ -0,0 +1,126 @@ +.\"/* +.\" * Copyright (C) 2016 Red Hat, Inc. +.\" * +.\" * All rights reserved. +.\" * +.\" * Author: Jan Friesse +.\" * +.\" * This software licensed under BSD license, the text of which follows: +.\" * +.\" * Redistribution and use in source and binary forms, with or without +.\" * modification, are permitted provided that the following conditions are met: +.\" * +.\" * - Redistributions of source code must retain the above copyright notice, +.\" * this list of conditions and the following disclaimer. +.\" * - Redistributions in binary form must reproduce the above copyright notice, +.\" * this list of conditions and the following disclaimer in the documentation +.\" * and/or other materials provided with the distribution. +.\" * - Neither the name of Red Hat, Inc. nor the names of its +.\" * contributors may be used to endorse or promote products derived from this +.\" * software without specific prior written permission. +.\" * +.\" * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +.\" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +.\" * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +.\" * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +.\" * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +.\" * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +.\" * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +.\" * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF +.\" * THE POSSIBILITY OF SUCH DAMAGE. +.\" */ +.TH COROSYNC-QDEVICE-TOOL 8 2016-06-24 +.SH NAME +corosync-qdevice-tool \- corosync-qdevice control interface. +.SH SYNOPSIS +.B "corosync-qdevice-tool [-Hhsv] [-p qdevice_ipc_socket_path]" +.SH DESCRIPTION +.B corosync-qdevice-tool +is frontend to internal corosync-qdevice IPC. It's main purpose is to show important +information about current +.B corosync-qdevice +internal state. +.SH OPTIONS +.TP +.B -H +Properly shutdown +.B corosync-qdevice +process +.TP +.B -h +Display short usage +.TP +.B -s +Display status of +.B corosync-qdevice +process. Output is described in it's own section. +.TP +.B -v +Display more verbose output for +.B -s +option. +.TP +.B -p +Path to +.B corosync-qdevice +communication socket. + +.SH STATUS COMMAND OUTPUT +.nf +Qdevice information +------------------- +Model: Net +Node ID: 1 +HB interval: 10000ms +Sync HB interval: 30000ms +Configured node list: + 0 Node ID = 1 +Ring ID: 1.a00000000021b48 +Membership node list: 1 +Quorate: Yes +Quorum node list: + 0 Node ID = 1, State = member +Expected votes: 2 +Last poll call: 2016-06-24T17:05:20 (cast vote) + +Qdevice-net information +---------------------- +Cluster name: Cluster +QNetd host: localhost:5403 +Connect timeout: 8000ms +HB interval: 8000ms +VQ vote timer interval: 5000ms +TLS: Supported +Algorithm: Fifty-Fifty split +Tie-breaker: Node with lowest node ID +Poll timer running: Yes (cast vote) +State: Connected +TLS active: Yes (client certificate sent) +Connected since: 2016-06-24T17:02:35 +Echo reply received: 2016-06-24T17:05:15 +.fi + +Output is split into generic qdevice section and model specific section. +Most of the items are just taken from corosync.conf file. It's good to note +.I Membership node list +what is list of nodes in same membership with current node and +.I Last poll call +what is timestamp (iso format) of last call of votequorum_qdevice_poll +function. + +For model net, it's good to note +.I Poll timer running +item. Internally, model net supports 3 states. Not voting (then +.I Poll timer running +is No and it means +.B corosync-qnetd +algorithm decides that current node shouldn't get vote), +voting but not cast vote and voting with cast vote. +.SH SEE ALSO +.BR corosync-qnetd (8) +.BR corosync-qdevice (8) +.SH AUTHOR +Jan Friesse +.PP diff --git a/man/corosync-qnetd-certutil.8 b/man/corosync-qnetd-certutil.8 new file mode 100644 index 00000000..4fad8ee4 --- /dev/null +++ b/man/corosync-qnetd-certutil.8 @@ -0,0 +1,68 @@ +.\"/* +.\" * Copyright (C) 2016 Red Hat, Inc. +.\" * +.\" * All rights reserved. +.\" * +.\" * Author: Jan Friesse +.\" * +.\" * This software licensed under BSD license, the text of which follows: +.\" * +.\" * Redistribution and use in source and binary forms, with or without +.\" * modification, are permitted provided that the following conditions are met: +.\" * +.\" * - Redistributions of source code must retain the above copyright notice, +.\" * this list of conditions and the following disclaimer. +.\" * - Redistributions in binary form must reproduce the above copyright notice, +.\" * this list of conditions and the following disclaimer in the documentation +.\" * and/or other materials provided with the distribution. +.\" * - Neither the name of Red Hat, Inc. nor the names of its +.\" * contributors may be used to endorse or promote products derived from this +.\" * software without specific prior written permission. +.\" * +.\" * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +.\" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +.\" * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +.\" * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +.\" * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +.\" * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +.\" * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +.\" * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF +.\" * THE POSSIBILITY OF SUCH DAMAGE. +.\" */ +.TH COROSYNC-QNETD-CERTUTIL 8 2016-06-23 +.SH NAME +corosync-qnetd-certutil - tool to generate qnetd TLS certificates +.SH SYNOPSIS +.B "corosync-qnetd-certutil [-i|-s] [-c certificate] [-n cluster_name]" +.SH DESCRIPTION +.B corosync-qnetd-certutil +is frontend for NSS certutil used for generating QNetd CA, server certificate and +signing cluster certificate used by +.B corosync-qdevice +model net. +.SH OPTIONS +.TP +.B -i +Initialize QNetd NSS certificate database and generate QNetd CA and server certificate. +Default directory with database is /etc/corosync/qnetd. This directory has to be +writable by current user. QNetd CA certificate is also exported into file +/etc/corosync/qnetd/nssdb/qnetd-cacert.crt. +.TP +.B -s +Sign cluster certificate. It's required to pass name of cluster (equal to +one configured in corosync.conf) and certificate request file. Signed certificate is +stored into file /etc/corosync/qnetd/nssdb/cluster-$ClusterName.crt +.TP +.B -c +Certificate request file to sign. +.TP +.B -n +Name of the cluster. +.SH SEE ALSO +.BR corosync-qnetd (8) +.BR corosync-qdevice (8) +.SH AUTHOR +Jan Friesse +.PP diff --git a/man/corosync-qnetd-tool.8 b/man/corosync-qnetd-tool.8 new file mode 100644 index 00000000..a4ab6665 --- /dev/null +++ b/man/corosync-qnetd-tool.8 @@ -0,0 +1,129 @@ +.\"/* +.\" * Copyright (C) 2016 Red Hat, Inc. +.\" * +.\" * All rights reserved. +.\" * +.\" * Author: Jan Friesse +.\" * +.\" * This software licensed under BSD license, the text of which follows: +.\" * +.\" * Redistribution and use in source and binary forms, with or without +.\" * modification, are permitted provided that the following conditions are met: +.\" * +.\" * - Redistributions of source code must retain the above copyright notice, +.\" * this list of conditions and the following disclaimer. +.\" * - Redistributions in binary form must reproduce the above copyright notice, +.\" * this list of conditions and the following disclaimer in the documentation +.\" * and/or other materials provided with the distribution. +.\" * - Neither the name of Red Hat, Inc. nor the names of its +.\" * contributors may be used to endorse or promote products derived from this +.\" * software without specific prior written permission. +.\" * +.\" * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +.\" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +.\" * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +.\" * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +.\" * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +.\" * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +.\" * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +.\" * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF +.\" * THE POSSIBILITY OF SUCH DAMAGE. +.\" */ +.TH COROSYNC-QNETD-TOOL 8 2016-06-23 +.SH NAME +corosync-qnetd-tool \- corosync-qnetd control interface. +.SH SYNOPSIS +.B "corosync-qnetd-tool [-Hhlsv] [-c cluster_name] [-p qnetd_ipc_socket_path]" +.SH DESCRIPTION +.B corosync-qnetd-tool +is frontend to internal corosync-qnetd IPC. It's main purpose is to show important +information about current +.B corosync-qnetd +internal state. +.SH OPTIONS +.TP +.B -H +Properly shutdown +.B corosync-qnetd +process +.TP +.B -h +Display short usage +.TP +.B -l +List all clients connected to +.B corosync-qnetd +process. Output is described in it's own section. +.TP +.B -s +Display status of +.B corosync-qnetd +process. +.TP +.B -v +Display more verbose output for options +.B -l +and +.B -s +.TP +.B -c +Used only with +.B -l +option. By default, information about all clients from all clusters are displayed, with +this option it's possible to filter only to one cluster with given +.I cluster_name. +.TP +.B -p +Path to +.B corosync-qnetd +communication socket. + +.SH LIST COMMAND OUTPUT +.nf +Cluster "Cluster": + Algorithm: Fifty-Fifty split + Tie-breaker: Node with lowest node ID + Node ID 1: + Client address: ::ffff:127.0.0.1:52000 + HB interval: 8000ms + Configured node list: 1, 2 + Ring ID: 1.a00000000021b40 + Membership node list: 1, 2 + TLS active: Yes (client certificate verified) + Vote: No change (ACK) + ... +.fi + +Output contains list of clusters. Each cluster has cluster common options +.I Algorithm +and +.I Tie-breaker +both configured in corosync.conf file. Information about nodes follows. +.I Client address +is IP address and port of client. +.I HB interval +is heartbeat interval between +.B corosync-qnetd +and +.B corosync-qdevice +client. This option can be configured in corosync.conf. +.I Configured node list +is list of nodes configured in corosync.conf. +.I Ring ID +and +.I Membership node list +are self-explaining. +.I TLS active +describes if encrypted transport is used between server and client. +.I Vote +is last vote sent to +.B corosync-qdevice +client. Last ACK/NACK vote (if exists) is in parentheses. +.SH SEE ALSO +.BR corosync-qnetd (8) +.BR corosync-qdevice (8) +.SH AUTHOR +Jan Friesse +.PP