Commit Graph

27 Commits

Author SHA1 Message Date
Niklas Schwarz d10da56560 Add the abillity to configure the logging options
Add the ability to configure the logging options for the rabbitmq-server
via the rabbitmq_log variable and key-value pairs

Change-Id: If9f28f29311150ed7b8ba61d2ddf7e12ca07d3c4
2023-12-07 11:51:29 +01:00
Niklas Schwarz 83d8ec2a30 Add ability to set environment variable RABBITMQ_USE_LONGNAMES
Add ability to set the environment variable RABBITMQ_USE_LONGNAMES
via the rabbitmq-env.conf to be able to use the FQDN for a node

Change-Id: I766bdbe847eb24010bfe9912f07e89d78bbc1bed
2023-11-16 11:32:37 +01:00
Niklas Schwarz e46cf7c988 Add ability to add custom configuration for RabbitMQ
This implements a new variable  rabbitmq_custom_config  to
be able to place custom configuration to the rabbitmq.conf
e.g. to configure installed plugins

Change-Id: I952eefe646b00f60184f8d353f6f055bbdc4ac90
2023-11-07 09:50:42 +01:00
Dmitriy Rabotyagov b4fbecd93f Add ability to define extra arguments for erlang
This implements new variable  rabbitmq_erlang_extra_args that enable
deployers to define extra flags for erlang [1]

[1] https://www.rabbitmq.com/runtime.html#cpu-reduce-idle-usage

Change-Id: Ibb0963962d6c7483d54fac69960910c0b13802a5
2023-09-28 14:31:50 +00:00
Kevin Carter 91def52b97 Update the heartbeat and handshake timeout
This change updates the default heartbeat and handshake timeouts 
by simply doubling the default handshake timings and updating the
heartbeat timeout from 60 to 640.

Signed-off-by: Kevin Carter <kevin@cloudnull.com>
Change-Id: I8fd7125e40b68ae1e2788602e3fa493ba7d8098d
2022-11-29 16:22:23 +00:00
Dmitriy Rabotyagov f9a69c1fec Return Erlang distribution port mgmt binding
While converting config to new style, erlang 25672 port binding to
mgmt IP has been lost.

We fix this now with re-adding inet_dist_use_interface option.

Change-Id: Ife5bb330240ecbac3814f2e161c5e108e25f6c14
2022-05-12 06:57:21 +00:00
Zuul 9790981aa6 Merge "Use journald logging for RabbitMQ" 2022-02-12 02:10:37 +00:00
Dmitriy Rabotyagov 8271919b17 Use systemd_service role for overrides
Replace placing templates for systemd overrides with
systemd_service role, that will handle overrides for us in more
convenient and unified way.

Change-Id: I2759b1949e9ecc98953f414c6f9838aed7dd8499
2022-02-01 21:42:49 +02:00
Dmitriy Rabotyagov a31f2e20f4 Use journald logging for RabbitMQ
Since RabbitMQ 3.9 [1] journald logging support has been implemented

As we use journald logging for most of the services and aim to make it
a standard, switching rabbitmq to journald follows this goal and
deployment unification

[1] https://github.com/rabbitmq/rabbitmq-server/pull/2940

Depends-On: https://review.opendev.org/c/openstack/openstack-ansible-rabbitmq_server/+/826446/
Change-Id: I86462f8279ebb5dc28e92fc8440cc0ab26f0759d
2022-01-26 11:46:09 +00:00
Dmitriy Rabotyagov e707eecdd8 Use sysctl ini-like config file
Starting from RabbitMQ 3.7.0 it's recommended to use new-style
config which is simply an ini file.

It's easier to read and maintain config file in ini fromat rather then
in classic erlang.

At the same time we still keep old-style config as it might have settings
that are not supported in new-style config.

There're no evidences that used there options are still supported,
but it's worth deprecating them in follow-up patch anyway.

Change-Id: I239366ad4aa2bc7a02d826b6c2f94631f4b0e622
2022-01-25 19:27:01 +02:00
Jonathan Rosser fa4135ad6e Modernise TLS configuration
Set up TLS1.2 as recommended in https://www.rabbitmq.com/ssl.html

Change-Id: I634ffe7ed47b8670bd2aad029dac1313cebd2961
2021-05-12 06:30:52 +00:00
Jonathan Rosser b8fc872113 Use ansible_facts[] instead of fact variables
See https://github.com/ansible/ansible/issues/73654

Change-Id: Ia6dac13c7e2206f4a86ef8e21c5b1cd80eb16e0e
2021-02-24 10:25:04 +00:00
Dmitriy Rabotyagov fc27e735a6 Add Centos-8 support
Depends-On: https://review.opendev.org/734672
Depends-On: https://review.opendev.org/735289
Change-Id: I35690f9a54337d6a268406ddcf6726f7040ac966
2020-06-24 20:41:27 +00:00
Kourosh Vivan 00db9987f0 Add NODENAME in rabbitmq env
NODENAME is needed in some deployment (Centos) for use rabbitmq cli

Change-Id: I983021d5913b3e88fb7b934003583d48ee35b8d9
Closes-bug: #1804283
2020-01-21 11:09:01 +01:00
Jonathan Rosser 15e8837dd3 Add defaults for rabbitmq managment and erlang bind addresses
These default to 0.0.0.0 and can be overriden in a real deployment
where the correct management network address is known.

Change-Id: If989ccee6449578316e2e8dbe502b6b17c7af9c5
2019-09-10 13:56:21 +00:00
Gabriele 615b60df8e Improve Mnesia IO performances
With this configuration, the database Mnesia reduces the activity to the
disk. It is useful when a huge of queues/exchanges/bindings are created
and destroyed.
With the default value (100), RabbitMQ could log {Mnesia is overloaded}.
Moved to 300. The range should be between 100 and 1000.
Read [1] for more info.

[1] http://erlang.org/doc/man/mnesia.html#dump_log_write_threshold

Change-Id: I6dcfc9db02bcd8c8f0a1ebf58d9c3ceb84cae10a
2019-03-28 16:17:07 +01:00
Jesse Pretorius (odyssey4me) f90bfd5cc1 Add the ability to set the rabbitmq bind address
The rabbitmq bind address can now be set using the
`rabbitmq_port_bindings` option which creates a hash of rabbitmq
connection options allowing multiple bind addresses and port
configurations to be present.

This change also organizes the config so that its now far more human
readable.

The option `rabbitmq_disable_non_tls_listeners` has been removed. This
was done because it is now irrelevant given its possible to set the
specific bind addresses and port configurations.

Change-Id: I103e406f5393a4ce3f7d6cd7f7e25e2058b0e796
Signed-off-by: Kevin Carter <kevin@cloudnull.com>
2019-03-18 16:25:20 -05:00
Bjoern Teipel 6f5946d2cc Introducing the new override rabbitmq_memory_high_watermark
The override rabbitmq_memory_high_watermark can be used to
alter the overall memory consumption of rabbitMQ and more
importantly define when the garbage collection (gc) is happening.
The old default value of 0.4 can lead up to 80% memory usage
during gc which can lead to OOM scenarios.
The new default value is set to 0.2, lowering the maximum memory
usage to 40%

Change-Id: Iedbb459a5d17f16bbb204b0b8e989ae84c77f8a6
2019-03-11 10:35:00 -05:00
Major Hayden e27a4b2851
Add automatic restart for RabbitMQ
This patch ensures that systemd will restart RabbitMQ in case of
failure or if the process is manually killed.

Closes-Bug: 1659954
Change-Id: Id8dbdccfe445f4a25902054eb6809d42a92d5f5d
2017-08-18 08:50:19 -05:00
Markos Chandras ec2ec4c8dc Add support for the openSUSE Leap distributions
Add support for the openSUSE Leap distributions. On openSUSE we also
need to provide our own rabbitmq-server.service systemd file which
doesn't depend on epmd.socket and epmd.service unit files.

Change-Id: I7907da612654d6593cfa40470eaec0be633ba4e9
2017-06-22 22:21:16 +01:00
Andrey 84d75078cf Allow configuration of listening on non-ssl port
Deployers can override the `rabbitmq_disable_non_tls_listeners`
variable, setting a value of `True` if they wish to enable this feature.

Change-Id: I4fe39099dbe8973d2655845c19882c404d4f20b1
2017-01-19 15:23:13 -05:00
Paulo Matias 716494ee86 Adjust file descriptor limit when systemd is used
Change-Id: I1039463e860e613f56fb2b813078d2c134f6b65d
Related-Bug: #1623164
2016-09-15 17:49:59 -03:00
Travis Truman 37c741e545 Enable HiPE compile configuration
The ``rabbitmq_server`` role now supports configuring HiPE compilation
of the RabbitMQ server Erlang code. This configuration option may improve
server performance for some workloads and hardware. Deployers can
override the ``rabbitmq_hipe_compile`` variable, setting a value of
``True`` if they wish to enable this feature.

Change-Id: I433d94eff00ac82a9069f9092faa87d449190442
2016-09-06 14:36:23 -04:00
Satheesh Kumar Ulaganathan 9ccc0ee3f1 Add collect_statistics_interval, rates_mode in rabbitmq.config template
1. Add collect_statistics_interval and rates_mode configurations in
rabbitmq.config template which enables to define custom value for
those fields.
2. Add collect_statistics_interval and rates_mode defaults in
defaults/main.yml

Change-Id: Ie349528929398f53a9d87e7fc02e0c95c9d6d4f1
Closes-bug: 1617516
2016-08-29 10:58:48 -07:00
git-harry cadd8ff635 Remove clustering config from rabbitmq.config
Remove cluster formation configuration from rabbitmq.config. Cluster
formation is managed by the task files in the role, see
tasks/rabbitmq_cluster.yml for details. The entries in the config
template are unnecessary and I believe they may be causing clustering
failures when the clustering tasks run.

Remove testing for cluster configuration in rabbitmq.config.

Change-Id: Ia65da05a5c967965143e8167657688d6906ad1f0
2016-03-29 12:19:27 +01:00
Bjoern Teipel a90cd7e343 Adding ERLANG VM tuning parameters
This fix will add ERLANG VM tuning parameters with increased
default settings to support larger installations.
Following overrides have been added:
  rabbitmq_async_threads defaults to 128 (from 32)
  rabbitmq_process_limit defaults to 1048576 (from 256k)

Closes-Bug: #1549940
DocImpact

Change-Id: Ia0fab288db8aa287e667dfc843f02d7ec318a816
2016-02-26 20:01:03 -06:00
Kevin Carter ee03bfc5ba
first commit
Signed-off-by: Kevin Carter <kevin.carter@rackspace.com>
2015-12-09 09:25:11 -06:00