09ce13aaf2
The config options `module-nodes` and `known-wait` are no longer used
after commit 12de0d964c
introduced
coordinated restarts across the rabbit cluster. This change removes
those charm config options.
Change-Id: I3aee35633e0716f8ce933ee3079494dbc761c04d
321 lines
12 KiB
YAML
321 lines
12 KiB
YAML
options:
|
|
source:
|
|
type: string
|
|
default:
|
|
description: |
|
|
Optional configuration to support use of additional sources such as:
|
|
.
|
|
- ppa:myteam/ppa
|
|
- cloud:xenial-proposed/ocata
|
|
- http://my.archive.com/ubuntu main
|
|
.
|
|
The last option should be used in conjunction with the key configuration
|
|
option.
|
|
.
|
|
Changing the source option on already deployed service/application will
|
|
trigger the upgrade.
|
|
key:
|
|
type: string
|
|
default:
|
|
description: |
|
|
Key ID to import to the apt keyring to support use with arbitary source
|
|
configuration from outside of Launchpad archives or PPA's.
|
|
harden:
|
|
type: string
|
|
default:
|
|
description: |
|
|
Apply system hardening. Supports a space-delimited list of modules
|
|
to run. Supported modules currently include os, ssh, apache and mysql.
|
|
management_plugin:
|
|
type: boolean
|
|
default: True
|
|
description: |
|
|
Enable the management plugin. This only applys to deployments using
|
|
Focal or later.
|
|
mirroring-queues:
|
|
type: boolean
|
|
default: True
|
|
description: |
|
|
When set to True the 'ha-mode: all' policy is applied to all the
|
|
exchanges that match the expression '^(?!amq\.).*'
|
|
cluster-partition-handling:
|
|
type: string
|
|
default: ignore
|
|
description: |
|
|
RabbitMQ offers three ways to deal with network partitions automatically.
|
|
Available modes:
|
|
.
|
|
ignore - Your network is reliable. All your nodes are in a rack,
|
|
connected with a switch, and that switch is also the route to the outside
|
|
world. You don't want to run any risk of any of your cluster shutting
|
|
down if any other part of it fails (or you have a two node cluster).
|
|
.
|
|
pause_minority - Your network is maybe less reliable. You have clustered
|
|
across 3 AZs in EC2, and you assume that only one AZ will fail at once.
|
|
In that scenario you want the remaining two AZs to continue working and
|
|
the nodes from the failed AZ to rejoin automatically and without fuss
|
|
when the AZ comes back.
|
|
.
|
|
autoheal - Your network may not be reliable. You are more concerned with
|
|
continuity of service than with data integrity. You may have a two node
|
|
cluster.
|
|
.
|
|
For more information see http://www.rabbitmq.com/partitions.html
|
|
mnesia-table-loading-retry-timeout:
|
|
type: int
|
|
default: 30000
|
|
description: |
|
|
Timeout in milliseconds used when waiting for Mnesia tables in a
|
|
cluster to become available.
|
|
.
|
|
https://www.rabbitmq.com/configure.html#config-items
|
|
mnesia-table-loading-retry-limit:
|
|
type: int
|
|
default: 10
|
|
description: |
|
|
Retries when waiting for Mnesia tables during cluster startup.
|
|
Note that this setting is not applied to Mnesia upgrades or node
|
|
deletions.
|
|
.
|
|
https://www.rabbitmq.com/configure.html#config-items
|
|
use-syslog:
|
|
type: boolean
|
|
default: False
|
|
description: |
|
|
If True, services that support it will log to syslog instead of their
|
|
normal log location.
|
|
max-cluster-tries:
|
|
type: int
|
|
default: 3
|
|
description: |
|
|
Number of tries to cluster with other units before giving up and throwing
|
|
a hook error.
|
|
min-cluster-size:
|
|
type: int
|
|
default:
|
|
description: |
|
|
Minimum number of units expected to exist before charm will attempt to
|
|
form a rabbitmq cluster.
|
|
stats_cron_schedule:
|
|
type: string
|
|
default: '*/5 * * * *'
|
|
description: |
|
|
Cron schedule used to generate rabbitmq stats. To disable,
|
|
either unset this config option or set it to an empty string ('').
|
|
cron-timeout:
|
|
type: int
|
|
default: 300
|
|
description: |
|
|
Run a command with a time limit specified in seconds in cron.
|
|
This timeout will govern to the rabbitmq stats capture, and that once
|
|
the timeout is reached a SIGINT is sent to the program, if it doesn't
|
|
exits before 10 seconds a SIGKILL is sent. Note that from xenial onwards
|
|
the nrpe queue check will alert if stats are not updated as expected
|
|
queue_thresholds:
|
|
type: string
|
|
default: "[['\\*', '\\*', 100, 200]]"
|
|
description: |
|
|
List of RabbitMQ queue size check thresholds. Interpreted as YAML in
|
|
format [<vhost>, <queue>, <warn>, <crit>]
|
|
Per-queue thresholds can be expressed as a multi-line YAML array:
|
|
- ['/', 'queue1', 10, 20]
|
|
- ['/', 'queue2', 200, 300]
|
|
Or as a list of lists:
|
|
[['/', 'queue1', 10, 20], ['/', 'queue2', 200, 300]]
|
|
Wildcards '*' are accepted to monitor all vhosts and/or queues.
|
|
In case of multiple matches, only the first will apply: wildcards should
|
|
therefore be used last in order to avoid unexpected behavior.
|
|
exclude_queues:
|
|
type: string
|
|
default: "[]"
|
|
description: |
|
|
List of RabbitMQ queues that should be skipped when checking thresholds.
|
|
Interpreted as YAML in format [<vhost>, <queue>]
|
|
Per-queue thresholds can be expressed as a multi-line YAML array:
|
|
- ['/', 'queue1']
|
|
- ['/', 'queue2']
|
|
Or as a list of lists:
|
|
[['/', 'queue1'], ['/', 'queue2']]
|
|
Wildcards '*' are accepted to exclude, for example, single queue on all
|
|
hosts. Note that the wildcard asterisk must be double-escaped. Example:
|
|
[['\\*', 'queue1']]
|
|
busiest_queues:
|
|
type: int
|
|
default: 0
|
|
description: |
|
|
Number of the busiest RabbitMQ queues to display when warning and
|
|
critical checking thresholds are exceeded. Queues are displayed in
|
|
decreasing message count order.
|
|
connection-backlog:
|
|
type: int
|
|
default:
|
|
description: |
|
|
Overrides the size of the connection backlog maintained by the server.
|
|
Environments with large numbers of clients will want to set this value
|
|
higher than the default (default value varies with rabbtimq version, see
|
|
https://www.rabbitmq.com/networking.html for more info).
|
|
erl-vm-io-thread-multiplier:
|
|
type: int
|
|
default:
|
|
description: |
|
|
Multiplier used to calculate the number of threads used in the erl vm
|
|
worker thread pool using the number of CPU cores extant in
|
|
the host system. The upstream docs recommend that this multiplier be
|
|
> 12 per core - we use 24 as default so that we end up with roughly the
|
|
same as current rabbitmq package defaults and that is what is used
|
|
internally to the charm if no value is set here. Also, if this value is
|
|
left unset and this application is running inside a container, the number
|
|
of threads will be capped based on a maximum of 2 cores.
|
|
# SSL configuration
|
|
ssl:
|
|
type: string
|
|
default: "off"
|
|
description: |
|
|
Enable SSL for client communication. Valid values are 'off', 'on', and
|
|
'only'. If ssl_key, ssl_cert, ssl_ca are provided then those values will
|
|
be used. Otherwise the service will act as its own certificate authority
|
|
and pass its CA certificate to clients. For clustered RabbitMQ, ssl_key
|
|
and ssl_cert must be provided.
|
|
.
|
|
Vault can be used instead of the ssl_* config values and works for
|
|
clustered and non-clustered cases.
|
|
ssl_enabled:
|
|
type: boolean
|
|
default: False
|
|
description: |
|
|
(DEPRECATED see 'ssl' config option.) enable SSL
|
|
ssl_port:
|
|
type: int
|
|
default: 5671
|
|
description: SSL port
|
|
ssl_key:
|
|
type: string
|
|
description: |
|
|
Private unencrypted key in base64 PEM format (i.e. starts with
|
|
"-----BEGIN RSA PRIVATE KEY-----")
|
|
default:
|
|
ssl_cert:
|
|
type: string
|
|
description: |
|
|
X.509 certificate in base64 PEM format (i.e. starts with
|
|
"-----BEGIN CERTIFICATE-----")
|
|
default:
|
|
ssl_ca:
|
|
type: string
|
|
description: |
|
|
Certificate authority cert that the cert. Optional if the ssl_cert is
|
|
signed by a ca recognized by the os. Format is base64 PEM (concatenated
|
|
certs if needed).
|
|
default:
|
|
# Network configuration (by default all access is over 'private-address')
|
|
access-network:
|
|
type: string
|
|
default:
|
|
description: |
|
|
The IP address and netmask of the 'access' network (e.g. 192.168.0.0/24)
|
|
.
|
|
This network will be used for access to RabbitMQ messaging services.
|
|
cluster-network:
|
|
type: string
|
|
default:
|
|
description: |
|
|
The IP address and netmask of the 'cluster' network (e.g. 192.168.0.0/24)
|
|
.
|
|
This network will be used for RabbitMQ to cluster.
|
|
prefer-ipv6:
|
|
type: boolean
|
|
default: False
|
|
description: |
|
|
If True enables IPv6 support. The charm will expect network interfaces
|
|
to be configured with an IPv6 address. If set to False (default) IPv4
|
|
is expected.
|
|
.
|
|
NOTE: these charms do not currently support IPv6 privacy extension. In
|
|
order for this charm to function correctly, the privacy extension must be
|
|
disabled and a non-temporary address must be configured/available on
|
|
your network interface.
|
|
# Monitoring
|
|
nagios_context:
|
|
type: string
|
|
default: "juju"
|
|
description: |
|
|
Used by the nrpe-external-master subordinate charm.
|
|
A string that will be prepended to instance name to set the host name
|
|
in nagios. So for instance the hostname would be something like:
|
|
.
|
|
juju-myservice-0
|
|
.
|
|
If you're running multiple environments with the same services in them
|
|
this allows you to differentiate between them.
|
|
nagios_servicegroups:
|
|
type: string
|
|
default: ""
|
|
description: |
|
|
A comma-separated list of nagios servicegroups.
|
|
If left empty, the nagios_context will be used as the servicegroup.
|
|
# HA configuration (DEPRECATED)
|
|
vip:
|
|
type: string
|
|
description: "Virtual IP to use to front rabbitmq in ha configuration"
|
|
default:
|
|
vip_iface:
|
|
type: string
|
|
default: eth0
|
|
description: "Network Interface where to place the Virtual IP"
|
|
vip_cidr:
|
|
type: int
|
|
default: 24
|
|
description: "Netmask that will be used for the Virtual IP"
|
|
ha-bindiface:
|
|
type: string
|
|
default: eth0
|
|
description: |
|
|
Default network interface on which HA cluster will bind to communication
|
|
with the other members of the HA Cluster.
|
|
ha-mcastport:
|
|
type: int
|
|
default: 5406
|
|
description: |
|
|
Default multicast port number that will be used to communicate between
|
|
HA Cluster nodes.
|
|
ha-vip-only:
|
|
type: boolean
|
|
default: False
|
|
description: |
|
|
By default, without pairing with hacluster charm, rabbitmq will deploy
|
|
in active/active/active... HA. When pairied with hacluster charm, it
|
|
will deploy as active/passive. By enabling this option, pairing with
|
|
hacluster charm will keep rabbit in active/active setup, but in addition
|
|
it will deploy a VIP that can be used by services that cannot work
|
|
with mutiple AMQPs (like Glance in pre-Icehouse).
|
|
notification-ttl:
|
|
type: int
|
|
default: 3600000
|
|
description: |
|
|
TTL in MS for notification queues in the openstack vhost. Defaults to
|
|
1 hour, but can be tuned up or down depending on deployment requirements.
|
|
This ensures that any un-consumed notifications don't build up over
|
|
time, causing disk capacity issues.
|
|
check-vhosts:
|
|
type: string
|
|
default:
|
|
description: |
|
|
When using nrpe to monitor the Rabbitmq host, we monitor functionality on
|
|
one vhost. This option configures additional vhost name(s) to check.
|
|
Space separated list.
|
|
queue-master-locator:
|
|
type: string
|
|
default: min-masters
|
|
description: |
|
|
Queue master location strategy. Available strategies are:
|
|
- min-masters, Pick the node hosting the minimum number of bound masters.
|
|
- client-local, Pick the node the client that declares the queue is connected to.
|
|
- random, Pick a random node.
|
|
This option is only available for RabbitMQ >= 3.6
|
|
enable-auto-restarts:
|
|
type: boolean
|
|
default: True
|
|
description: |
|
|
Allow the charm and packages to restart services automatically when
|
|
required.
|