'\" t .\" Title: ocf_heartbeat_rabbitmq-server-ha .\" Author: ClusterLabs contributors (see the resource agent source for information about individual authors) .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 04/13/2023 .\" Manual: OCF resource agents .\" Source: resource-agents 4.12.0-2 .\" Language: English .\" .TH "OCF_HEARTBEAT_RABBIT" "7" "04/13/2023" "resource-agents 4.12.0-2" "OCF resource agents" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "NAME" ocf_heartbeat_rabbitmq-server-ha \- Resource agent for RabbitMQ HA cluster .SH "SYNOPSIS" .HP \w'\fBrabbitmq\-server\-ha\fR\ 'u \fBrabbitmq\-server\-ha\fR [start | stop | status | monitor | promote | demote | meta\-data | validate\-all] .SH "DESCRIPTION" .PP Resource agent for RabbitMQ promotes a node, then cluster nodes can join it .SH "SUPPORTED PARAMETERS" .PP \fBbinary\fR .RS 4 RabbitMQ binary .sp (optional, string, default "/usr/sbin/rabbitmq\-server") .RE .PP \fBctl\fR .RS 4 rabbitctl binary .sp (optional, string, default "/usr/sbin/rabbitmqctl") .RE .PP \fBpid_file\fR .RS 4 RabbitMQ PID file .sp (optional, string, default "/var/run/rabbitmq/pid") .RE .PP \fBlog_dir\fR .RS 4 RabbitMQ log directory .sp (optional, string, default "/var/log/rabbitmq") .RE .PP \fBusername\fR .RS 4 RabbitMQ user name .sp (optional, string, default "rabbitmq") .RE .PP \fBgroupname\fR .RS 4 RabbitMQ group name .sp (optional, string, default "rabbitmq") .RE .PP \fBadmin_user\fR .RS 4 RabbitMQ default admin user for API .sp (optional, string, default "guest") .RE .PP \fBadmin_password\fR .RS 4 RabbitMQ default admin user password for API .sp (optional, string, default "guest") .RE .PP \fBdefinitions_dump_file\fR .RS 4 RabbitMQ default definitions dump file .sp (optional, string, default "/etc/rabbitmq/definitions") .RE .PP \fBcommand_timeout\fR .RS 4 Timeout command arguments for issued commands termination (value is auto evaluated) .sp (optional, string, no default) .RE .PP \fBstart_time\fR .RS 4 Timeout for start rabbitmq server .sp (optional, string, default "7") .RE .PP \fBstop_time\fR .RS 4 Timeout for stopping rabbitmq server .sp (optional, string, default "7") .RE .PP \fBdebug\fR .RS 4 The debug flag for agent (/usr/sbin/rabbitmq\-server) instance\&. In the /tmp/ directory will be created rmq\-* files for log some operations and ENV values inside OCF\-script\&. .sp (optional, boolean, default false) .RE .PP \fBmnesia_base\fR .RS 4 Base directory for storing Mnesia files .sp (optional, boolean, default /var/lib/rabbitmq/mnesia) .RE .PP \fBmnesia_schema_base\fR .RS 4 Parent directory for Mnesia schema directory .sp (optional, string, default "/var/lib/rabbitmq") .RE .PP \fBhost_ip\fR .RS 4 /usr/sbin/rabbitmq\-server should listen on this IP address .sp (optional, boolean, default 127\&.0\&.0\&.1) .RE .PP \fBnode_port\fR .RS 4 /usr/sbin/rabbitmq\-server should listen on this port .sp (optional, boolean, default 5672) .RE .PP \fBdefault_vhost\fR .RS 4 Default virtual host used for monitoring if a node is fully synchronized with the rest of the cluster\&. In normal operation, the resource agent will wait for queues from this virtual host on this node to be synchronized elsewhere before stopping RabbitMQ\&. This also means queues in other virtual hosts may not be fully synchronized on stop operations\&. .sp (optional, string, default "/") .RE .PP \fBerlang_cookie\fR .RS 4 Erlang cookie for clustering\&. If specified, will be updated at the mnesia reset .sp (optional, boolean, default false) .RE .PP \fBerlang_cookie_file\fR .RS 4 Erlang cookie file path where the cookie will be put, if requested .sp (optional, boolean, default /var/lib/rabbitmq/\&.erlang\&.cookie) .RE .PP \fBuse_fqdn\fR .RS 4 Either to use FQDN or a shortname for the rabbitmq node .sp (optional, boolean, default false) .RE .PP \fBfqdn_prefix\fR .RS 4 Optional FQDN prefix for RabbitMQ nodes in cluster\&. FQDN prefix can be specified to host multiple RabbitMQ instances on a node or in case of RabbitMQ running in dedicated network/interface\&. .sp (optional, string, no default) .RE .PP \fBmax_rabbitmqctl_timeouts\fR .RS 4 If during monitor call rabbitmqctl times out, the timeout is ignored unless it is Nth timeout in a row\&. Here N is the value of the current parameter\&. If too many timeouts happen in a raw, the monitor call will return with error\&. .sp (optional, string, default "3") .RE .PP \fBpolicy_file\fR .RS 4 A path to the shell script to setup RabbitMQ policies .sp (optional, string, default "/usr/local/sbin/set_rabbitmq_policy") .RE .PP \fBrmq_feature_health_check\fR .RS 4 Since rabbit 3\&.6\&.4 list_queues/list_channels\-based monitoring should be replaced with "node_health_check" command, as it creates no network load at all\&. .sp (optional, boolean, default true) .RE .PP \fBrmq_feature_local_list_queues\fR .RS 4 For rabbit version that implements \-\-local flag for list_queues, this can greatly reduce network overhead in cases when node is stopped/demoted\&. .sp (optional, boolean, default true) .RE .PP \fBlimit_nofile\fR .RS 4 Soft and hard limit for NOFILE .sp (optional, string, default "65535") .RE .PP \fBavoid_using_iptables\fR .RS 4 When set to true the iptables calls to block client access become noops\&. This is useful when we run inside containers\&. .sp (optional, boolean, default false) .RE .PP \fBallowed_cluster_nodes\fR .RS 4 When set to anything other than the empty string it must container the list of cluster node names, separated by spaces, where the rabbitmq resource is allowed to run\&. Tis is needed when rabbitmq is running on a subset of nodes part of a larger cluster\&. The default ("") is to assume that all nodes part of the cluster will run the rabbitmq resource\&. .sp (optional, string, no default) .RE .SH "SUPPORTED ACTIONS" .PP This resource agent supports the following actions (operations): .PP \fBstart\fR .RS 4 Starts the resource\&. Suggested minimum timeout: 20s\&. .RE .PP \fBstop\fR .RS 4 Stops the resource\&. Suggested minimum timeout: 20s\&. .RE .PP \fBstatus\fR .RS 4 Performs a status check\&. Suggested minimum timeout: 20s\&. .RE .PP \fBmonitor\fR .RS 4 Performs a detailed status check\&. Suggested minimum timeout: 30s\&. Suggested interval: 5s\&. .RE .PP \fBmonitor (Promoted role)\fR .RS 4 Performs a detailed status check\&. Suggested minimum timeout: 30s\&. Suggested interval: 3s\&. .RE .PP \fBpromote\fR .RS 4 Promotes the resource to the Master role\&. Suggested minimum timeout: 30s\&. .RE .PP \fBdemote\fR .RS 4 Demotes the resource to the Slave role\&. Suggested minimum timeout: 30s\&. .RE .PP \fBnotify\fR .RS 4 Suggested minimum timeout: 20s\&. .RE .PP \fBvalidate\-all\fR .RS 4 Performs a validation of the resource configuration\&. Suggested minimum timeout: 5s\&. .RE .PP \fBmeta\-data\fR .RS 4 Retrieves resource agent metadata (internal use only)\&. Suggested minimum timeout: 5s\&. .RE .SH "EXAMPLE CRM SHELL" .PP The following is an example configuration for a rabbitmq\-server\-ha resource using the \fBcrm\fR(8) shell: .sp .if n \{\ .RS 4 .\} .nf primitive p_rabbitmq\-server\-ha ocf:heartbeat:rabbitmq\-server\-ha \e op monitor depth="0" timeout="30s" interval="5s" \e op monitor depth="0" timeout="30s" interval="3s" role="Promoted" .fi .if n \{\ .RE .\} .sp .if n \{\ .RS 4 .\} .nf ms ms_rabbitmq\-server\-ha p_rabbitmq\-server\-ha \e meta notify="true" interleave="true" .fi .if n \{\ .RE .\} .SH "EXAMPLE PCS" .PP The following is an example configuration for a rabbitmq\-server\-ha resource using \fBpcs\fR(8) .sp .if n \{\ .RS 4 .\} .nf pcs resource create p_rabbitmq\-server\-ha ocf:heartbeat:rabbitmq\-server\-ha \e op monitor OCF_CHECK_LEVEL="0" timeout="30s" interval="5s" \e op monitor OCF_CHECK_LEVEL="0" timeout="30s" interval="3s" role="Promoted" promotable .fi .if n \{\ .RE .\} .SH "SEE ALSO" .PP \m[blue]\fB\%http://clusterlabs.org/\fR\m[] .SH "AUTHOR" .PP \fBClusterLabs contributors (see the resource agent source for information about individual authors)\fR