ocf_heartbeat_rabbitmq-server-ha - Man Page

Resource agent for RabbitMQ HA cluster

Synopsis

rabbitmq-server-ha [start | stop | status | monitor | promote | demote | meta-data | validate-all]

Description

Resource agent for RabbitMQ promotes a Master, then cluster nodes can join it

Supported Parameters

binary

RabbitMQ binary

(optional, string, default "/usr/sbin/rabbitmq-server")

ctl

rabbitctl binary

(optional, string, default "/usr/sbin/rabbitmqctl")

pid_file

RabbitMQ PID file

(optional, string, default "/var/run/rabbitmq/pid")

log_dir

RabbitMQ log directory

(optional, string, default "/var/log/rabbitmq")

username

RabbitMQ user name

(optional, string, default "rabbitmq")

groupname

RabbitMQ group name

(optional, string, default "rabbitmq")

admin_user

RabbitMQ default admin user for API

(optional, string, default "guest")

admin_password

RabbitMQ default admin user password for API

(optional, string, default "guest")

definitions_dump_file

RabbitMQ default definitions dump file

(optional, string, default "/etc/rabbitmq/definitions")

command_timeout

Timeout command arguments for issued commands termination (value is auto evaluated)

(optional, string, no default)

start_time

Timeout for start rabbitmq server

(optional, string, default "7")

stop_time

Timeout for stopping rabbitmq server

(optional, string, default "7")

debug

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.

(optional, boolean, default false)

mnesia_base

Base directory for storing Mnesia files

(optional, boolean, default /var/lib/rabbitmq/mnesia)

mnesia_schema_base

Parent directory for Mnesia schema directory

(optional, string, default "/var/lib/rabbitmq")

host_ip

/usr/sbin/rabbitmq-server should listen on this IP address

(optional, boolean, default 127.0.0.1)

node_port

/usr/sbin/rabbitmq-server should listen on this port

(optional, boolean, default 5672)

default_vhost

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.

(optional, string, default "/")

erlang_cookie

Erlang cookie for clustering. If specified, will be updated at the mnesia reset

(optional, boolean, default false)

erlang_cookie_file

Erlang cookie file path where the cookie will be put, if requested

(optional, boolean, default /var/lib/rabbitmq/.erlang.cookie)

use_fqdn

Either to use FQDN or a shortname for the rabbitmq node

(optional, boolean, default false)

fqdn_prefix

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.

(optional, string, no default)

max_rabbitmqctl_timeouts

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.

(optional, string, default "3")

policy_file

A path to the shell script to setup RabbitMQ policies

(optional, string, default "/usr/local/sbin/set_rabbitmq_policy")

rmq_feature_health_check

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.

(optional, boolean, default true)

rmq_feature_local_list_queues

For rabbit version that implements --local flag for list_queues, this can greatly reduce network overhead in cases when node is stopped/demoted.

(optional, boolean, default true)

limit_nofile

Soft and hard limit for NOFILE

(optional, string, default "65535")

avoid_using_iptables

When set to true the iptables calls to block client access become noops. This is useful when we run inside containers.

(optional, boolean, default false)

allowed_cluster_nodes

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.

(optional, string, no default)

Supported Actions

This resource agent supports the following actions (operations):

start

Starts the resource. Suggested minimum timeout: 20s.

stop

Stops the resource. Suggested minimum timeout: 20s.

status

Performs a status check. Suggested minimum timeout: 20s.

monitor

Performs a detailed status check. Suggested minimum timeout: 30s. Suggested interval: 5s.

monitor (Master role)

Performs a detailed status check. Suggested minimum timeout: 30s. Suggested interval: 3s.

promote

Promotes the resource to the Master role. Suggested minimum timeout: 30s.

demote

Demotes the resource to the Slave role. Suggested minimum timeout: 30s.

notify

Suggested minimum timeout: 20s.

validate-all

Performs a validation of the resource configuration. Suggested minimum timeout: 5s.

meta-data

Retrieves resource agent metadata (internal use only). Suggested minimum timeout: 5s.

Example CRM Shell

The following is an example configuration for a rabbitmq-server-ha resource using the crm(8) shell:

primitive p_rabbitmq-server-ha ocf:heartbeat:rabbitmq-server-ha \
  op monitor depth="0" timeout="30s" interval="5s" \
  op monitor depth="0" timeout="30s" interval="3s" role="Master"
ms ms_rabbitmq-server-ha p_rabbitmq-server-ha \
  meta notify="true" interleave="true"

Example PCS

The following is an example configuration for a rabbitmq-server-ha resource using pcs(8)

pcs resource create p_rabbitmq-server-ha ocf:heartbeat:rabbitmq-server-ha \
  op monitor OCF_CHECK_LEVEL="0" timeout="30s" interval="5s" \
  op monitor OCF_CHECK_LEVEL="0" timeout="30s" interval="3s" role="Master" promotable

See Also

http://clusterlabs.org/

Author

ClusterLabs contributors (see the resource agent source for information about individual authors)

Info

07/23/2022 resource-agents UNKNOWN OCF resource agents