* Update openstack-ansible-rabbitmq_server from branch 'master'
to 1d9a0837e9ff60bcfd4d25de697eda3dff2a6edc
- Add support for the apply_to parameter for policies
Policies were always applied to target `all` aspects and
there was no way to have them target only e.g. exchanges.
This can be important though, see [1].
This change enables the use of the apply_to parmeter via the existing
variables while maintaining `all` to be the default.
[1] https://www.rabbitmq.com/docs/parameters#how-policies-work
Change-Id: I61d68c630599b8ef2382663e8a37fdc456435c11
* Update openstack-ansible-rabbitmq_server from branch 'master'
to e4c234dcdcfb1ef12b4c6cc32291267561cd6c65
- Merge "Remove legacy upgrade task"
- Remove legacy upgrade task
This task is no longer needed in recent releases of openstack-ansible.
Depends-On: https://review.opendev.org/c/openstack/openstack-ansible-os_tempest/+/907886
Change-Id: I2190c16548fb44948a26ee2817d8f71fbe66be53
* Update openstack-ansible-rabbitmq_server from branch 'master'
to d10da56560c850e3f05dcfa858f0f773b9b198c4
- 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
* Update openstack-ansible-rabbitmq_server from branch 'master'
to 83d8ec2a3049e81c8cdb07acc97f16ab2d57e08e
- 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
* Update openstack-ansible-rabbitmq_server from branch 'master'
to e46cf7c9889885a48720aafb2b66bc9a6750e55f
- 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
* Update openstack-ansible-rabbitmq_server from branch 'master'
to 346cf852983f3f05bfee42a527b1ae89e58e96e3
- Update RabbitMQ to 3.12 series
Change-Id: I2e320b862dbc86a70f660510f2b946c6ac135ca1
* Update openstack-ansible-rabbitmq_server from branch 'master'
to b4fbecd93f056f52022b39f5a7c35a4175fdee7c
- 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
* Update openstack-ansible-rabbitmq_server from branch 'master'
to 447584c0ec335c4e51ba1ea3a6cfaa0a88d1e6b9
- Fix linter errors in example playbook
Change-Id: I4aa03c4ddad206cac8bf73b1ec44eed5aa0f715b
* Update openstack-ansible-rabbitmq_server from branch 'master'
to b4a3b6269b774b843816b3120d59d558f6c7a4c9
- Fix linters and metadata
With update of ansible-lint to version >=6.0.0 a lot of new
linters were added, that enabled by default. In order to comply
with linter rules we're applying changes to the role.
With that we also update metdata to reflect current state.
Change-Id: I63f6a2c803370736e969aa3a4dea3ea959316def
* Update openstack-ansible-rabbitmq_server from branch 'master'
to 2fc53a3a03889dc742892b83a1c9d4f30d258e0d
- Adjust wildcard definition
There was no reason to adjust rabbitmq_package_version previously, as
replaced by the wildcard part is never changed, so patching that doesn't
have any practical sense. We also return `-1` to erlang spec, so that
wildcard would match only the part we expect to change.
This partially reverts I99683a031f935b579d38ae457c484c9a150344c6
Change-Id: Ie2e783d065f32b906ee1554abaf5dc3b24236ca8
* Update openstack-ansible-rabbitmq_server from branch 'master'
to 953ceccb0b374f15e055abc4830d5de2e9a2c2aa
- Use wildcards to specify rabbit/erlang versions
For a long time we were struggling with disappearing packages on
packagecloud/cloudsmith repos.
We were told to use {ppa1,yum1}.novemberain.com because packages should
not disappear from there[1].
Unfortunately it just happened causing Rocky jobs to fail with error
message: "No package erlang-25.3.2-1.el9.x86_64 available."
Because we had this issue for a long time and we have not found any
proper solution so far, I think the best we can do is to use wildcards
for version definitions.
Wildcards are used only for build numbers(number after 3th dot) if they
are present. It should minimize a chance to install incompatible erlang
and rabbitmq versions.
[1] https://github.com/rabbitmq/rabbitmq-server/discussions/8386#discussioncomment-6022021
Required-By: https://review.opendev.org/c/openstack/openstack-ansible-os_rally/+/887528
Change-Id: I99683a031f935b579d38ae457c484c9a150344c6
* Update openstack-ansible-rabbitmq_server from branch 'master'
to efd5ba9be762ceec7e08fdebfc7522b21556ae62
- Use el/9 repo urls instead of el/8 since a repo is available for it
As we target el9 and not el8, we should use the el/9 repo as it is
available, even though it provides RPMs with an `el8` dist tag. This can
help prevent confusion for users who see a repo on the system configured
with `el/8` in the repourl.
There should be no impact on existing installations, as the same repo
content is provided in both repos in almost all cases--namely, a few
early versions of erlang are unavailable, but as we pin to a version
that exists in both repos, there is no impact to this change: at worst,
the erlang package will be upgraded to a newer minor version if a user
somehow has an older one installed.
Change-Id: I70c13f7f882ce8666b12314a31f76fe63599677c
* Update openstack-ansible-rabbitmq_server from branch 'master'
to 3ee66ae7aff9021e2338c7ff1ca03b1f91d22d6c
- bump rabbitmq and erlang to latest available
When switching to the Novemberain repos and using the proper EL major
version, some packages are not available in el/9 that are in el/8 repos.
This change bumps rabbitmq to 3.11.17-1 and erlang to 25.3.2-1.
Change-Id: Ia885935ef6d97fae8b61a1c4979b03a51727eb31
* Update openstack-ansible-rabbitmq_server from branch 'master'
to ab9dbfb50eeef0b4e5a8143b9e2d61fd3682dc0d
- Change to CloudSmith repos from PackageCloud for RabbitMQ
Upstream has notified us[1] about the immediate deprecation and removal
of the PackageCloud repositories we are using. Thus, we must move to the
CloudSmith repos already being used for the erlang dependency for
RabbitMQ.
[1] https://github.com/rabbitmq/rabbitmq-server/discussions/8386
Closes-Bug: 2021410
Change-Id: I361757b8f76a6c2d087989a36d8f7543aba69e16
* Update openstack-ansible-rabbitmq_server from branch 'master'
to 84d88c5a265e2f783c7daa15d71251f45bcfc4b8
- Switch rabbitmq repo back to packagecloud
Due to decision made during PTG, we're switching back source for
RabbitMQ to packagcloud, since cloudsmith does rotate versions
too aggressively and we can't keep up with them.
With that we're leaving erlang source to be cloudsmith, since
there're simply no other good sources for Ubuntu/Debian.
Depends-On: https://review.opendev.org/c/openstack/openstack-ansible/+/879671
Change-Id: Ifac1481b459707b289a9804aa4240ebbf55f6ab7
* Update openstack-ansible-rabbitmq_server from branch 'master'
to e6f1c6955835f9d9c5cb9acefa30f50202139d39
- Do not use 'always' tag in inappropriate places
Using 'always' tag in combination with condition depending on
variables is not always a good idea because these variables may not be
defined at the moment.
Currently, rabbitmq_server role cannot be executed with tag limit,
because task containing 'always' tag has a condition operating on
variable(s) that are registered only when 'rabbitmq-config' tag is being
used.
Change-Id: I7ef7b3fed79933b4c8bbc39a63ca6db54532e10e
* Update openstack-ansible-rabbitmq_server from branch 'master'
to 98a7f71d17061ac3642cd1c7db0da6f9b49db392
- Update erlang to 25.2.3 and rabbit to 3.11.10
Change-Id: I8c4981a29715509514d5904ca68211093f518976
* Update openstack-ansible-rabbitmq_server from branch 'master'
to 5281c0e2647a5763642999709e7a8a9fb0127a5f
- Bump rabbitmq to 3.11 and erlang to 25.2
Change-Id: If8c83682093cb08e8a092550c44010134cd210d3
* Update openstack-ansible-rabbitmq_server from branch 'master'
to d2a7fbe52735eabe978e5a725dd9e509ccded157
- Remove "warn" parameter from command module
This is removed in ansible 2.14.
Change-Id: I3149f3babe9acf8c5854982f2d8e1cbcc23371e1
* Update openstack-ansible-rabbitmq_server from branch 'master'
to fd205c38da908140dae95e1ee23a080c864e7d88
- Update tox.ini to work with 4.0
With tox release of 4.0, some parameters were deprecated and are ignored now
which causes tox failures. One of the most spread issues we have is using
`whitelist_externals` isntead of `allowlist_externals`
Change-Id: I55cade793fc74fd5555c0f520bc132916343330e
* Update openstack-ansible-rabbitmq_server from branch 'master'
to 24c57bf84e92d25320c04cf17fd45675cccde73b
- Merge "Update the heartbeat and handshake timeout"
- 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
* Update openstack-ansible-rabbitmq_server from branch 'master'
to 684dae52095c0c8b474dafacb4df356aebd9f439
- Update master for stable/zed
Add file to the reno documentation build to show release notes for
stable/zed.
Use pbr instruction to increment the minor version number
automatically so that master versions are higher than the versions on
stable/zed.
Sem-Ver: feature
Change-Id: Ic392f8ee059787620d67be181e998b0484ef443b
* Update openstack-ansible-rabbitmq_server from branch 'master'
to cd748c38a761c191553c9c0adba2a28c092e81e1
- Merge "Update rabbitmq to 3.10.7-1"
- Update rabbitmq to 3.10.7-1
Bigger number, moar better.
Change-Id: I097b8c678a0744f31db04d0a402a2bba793f6824
Signed-off-by: Kevin Carter <kevin@cloudnull.com>
* Update openstack-ansible-rabbitmq_server from branch 'master'
to 85cd51c24e6b85084a767ffcb3db1afad06978a6
- Remove redundant vars line
This line snuck in with Ie2d656bc04ea600e35735a7a8630cadd915469b7
probably to bring it in line with other OSA roles, but should already
be covered by the distribution_major_version line above.
Change-Id: Ib47d6dd5eff0df89ccb23c4adb141c7a6a89d298
* Update openstack-ansible-rabbitmq_server from branch 'master'
to 30f338e4bcd2e693dc4ecb5dc1d1509982440e52
- Switch sphinx language to en
With sphinx release of 5.0.0, they changed default for language variable
to 'en' from None. With that current None valuable is not valid and should
not be used.
Change-Id: I64557e48679227101ba1cd20a95385df3d493a4d
* Update openstack-ansible-rabbitmq_server from branch 'master'
to bfaeecc548d64f647a7d522889415c65948df483
- Update RabbitMQ version to 3.10
Change-Id: Ie291b079c4f10949ad63f80ebb2bafcc09854ffe
* Update openstack-ansible-rabbitmq_server from branch 'master'
to f3f624f4c96b9d6c7e1770a5d1e0dd3f37c1f9c4
- Merge "Add support for centos-9"
- Add support for centos-9
Change-Id: I5428a7d8ebb8e1cc108608bddb94784696dab098
* Update openstack-ansible-rabbitmq_server from branch 'master'
to f9a69c1fecf4e88d42af306f89fe8d38762c0090
- 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
* Update openstack-ansible-rabbitmq_server from branch 'master'
to 45a5dd772906dfd466cd4a4bc7d6e5eb9d129e25
- Bump rabbitmq / erlang versions
These are bumped to the latest version available in the cloudsmith
repo, noting that there are no erlang packages for debian/bullseye
so these remain the distro provided ones.
Change-Id: Ib6f7ce3173df02908a43f61b6fabbd52e8222917
* Update openstack-ansible-rabbitmq_server from branch 'master'
to dceda157fa8f4a67a21d73d88af705977f5acd46
- Replace shell with simple command for version verification
There is no need in using complicated shell for getting/grepping
for instaled rabbitmq version as this can be done in more neat way
with simple commad.
Alternative would be to gather package facts, but we may want not to
rely on facts caching and leave quering package managers.
Change-Id: Ieb858a7e850ec6b48989196392fb85a4b3c2a8a7
* Update openstack-ansible-rabbitmq_server from branch 'master'
to 8316e00cf03d8c85198b7bbf2bddf50dbd6b8eaa
- Pass rabbitmq role in check mode
In order to pass check mode, we must retrieve current installed version
regardless of mode.
Depends-On: https://review.opendev.org/c/openstack/openstack-ansible/+/837706
Change-Id: Ib6a3084a8f5afd3d045864d0853ebffa025329e0
* Update openstack-ansible-rabbitmq_server from branch 'master'
to 67679fcf2a92cbc8d2831644cb0e04e3cabfd199
- Merge "Remove affecting rabbitmq hosts record"
- Remove affecting rabbitmq hosts record
Record for 127.0.1.1 is added by some distributions which makes
clustering fail, as Erlang port is binded to mgmt IP, while rabbit
expects to access it through $hostname, which would lead to 127.0.1.1.
At same time it's possbile to explicitly bind distribution port only
to single address. So we need to
ensure that hostname resolvs to mgmt IP and drop record for 127.0.1.1
Closes-Bug: #1960587
Change-Id: I907d4714319ac7134ede0dc62b51c1964b9befc5
* Update openstack-ansible-rabbitmq_server from branch 'master'
to 1de3bf4cc787399f3fd7e9e17fae0b2578d30645
- Merge "Verify if hosts file already managed with OSA"
- Verify if hosts file already managed with OSA
With this patch we ensure that duplicated records are not
created with rabbitmq role if hosts file already contain
OSA managed block. Managing hosts still might be required for
role usage outside of the OSA so we workaround this usecase.
Change-Id: Ia20902f0ffe21ce563966fee4d233e5ec3afe3d9
Related-Bug: #1960587
* Update openstack-ansible-rabbitmq_server from branch 'master'
to 9790981aa60fbdc0aba6fc41c71feb65d57aa063
- Merge "Use journald logging for RabbitMQ"
- 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
* Update openstack-ansible-rabbitmq_server from branch 'master'
to cf7d4bafe1b588891e6a03f47675cd715130f208
- Merge "Remove old repos for Debian"
- Remove old repos for Debian
It appears that old repo must be removed explicitly and apt_repository
don't have an option for exclusive content when filename defined
So we need to drop old repo after switching to cloudsmith to avoid
fetching data from them and make repos clean during upgrade.
Change-Id: Iffb5dd5f9a1937825e2cc345b720d7af072608c1
* Update openstack-ansible-rabbitmq_server from branch 'master'
to ae3c16ba00a075010361708150365afb1d86b372
- Merge "Use systemd_service role for overrides"
- 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
* Update openstack-ansible-rabbitmq_server from branch 'master'
to 5956b053812e94aec25066d981bcc95caa2a1b4f
- Merge "Use sysctl ini-like config file"
- 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
* Update openstack-ansible-rabbitmq_server from branch 'master'
to 9355e52547651bab7ee312dd73a3f2bf905e2a71
- Update used RabbitMQ and Erlang
Change-Id: Ibfe03a445d7e3366ffaebf940386596506a84e6d
* Update openstack-ansible-rabbitmq_server from branch 'master'
to 1b570e3511280c7e17f529520c689e93930e4092
- Allow different install methods for rabbit/erlang
Currently Debian Bullseye doesn't have erlang provided by external repos
So in order to update rabbitmq version used we need to implement
rabbitmq_erlang_install_method, so that we could use external rabbitmq
with distro provided erlang.
Hpefully that is temporary solution and erlang packages for bullseye
will be built one day.
Change-Id: I32256271759d26522c17fe14c75b41da4c86c31a
* Update openstack-ansible-rabbitmq_server from branch 'master'
to 4ab856bfefd07ca5fb39d66c93530e9b7ab0fe76
- Use cloudsmith repo for rabbit and erlang
Switch to using cloudsmith repo as a source for rabbitmq and erlang.
This allows us to be consistent about repository that is
used across supported distributions along with switching from
unreliable erlang-solutions that tend to fail periodically.
Change-Id: Ia438ee3b0aa1ba95aff014776e936516b83181ec
* Update openstack-ansible-rabbitmq_server from branch 'master'
to e41730d5319c03a91b3e1db1621a021b37f3a3bd
- Refactor use of include_vars
Use a first_found lookup instead of a with_first_found loop so that
the 'paths' parameter can be used.
This ensures that only vars from the role are included, and not vars
from a parent calling role. This can happen when a parent role has
a higher priority vars file available for inclusion than the role
it calls.
Change-Id: Ie2d656bc04ea600e35735a7a8630cadd915469b7
* Update openstack-ansible-rabbitmq_server from branch 'master'
to 34819a10ace4f800d20c2d36035bbfca3ab9671e
- Merge "Allow to provide policy state"
- Allow to provide policy state
It might be desired by deployer to remove already applied policy.
For that policy state should be explicitly passeda as absent
for the module.
Change-Id: I24bb110998eef978daf618964c1ee3713eb6b339
* Update openstack-ansible-rabbitmq_server from branch 'master'
to e6ef36449bec8b17affb378b27e6effa4c413d61
- Fix tags usage
With include_tasks we got tags behaviour broken since they need to
be specifically applied and "always" tag should be assigned for include
itself for tags inside include to work properly.
Change-Id: If912a2fe2ca5358dd680fec85ef16823c46713bb
* Update openstack-ansible-rabbitmq_server from branch 'master'
to 52e3978312030b2eb5684766ceb1835326b0f468
- Update rabbitmq version
Change-Id: Ie746929b352554cbae6f3a942d5c3eae59697bcd
* Update openstack-ansible-rabbitmq_server from branch 'master'
to a2b11fcad936abd2997a4a45af8c8f8e54fb5368
- Fix PKI certificates regeneration
We were passing wrong variable to PKI role which didn't have any effect.
Change-Id: Iefbd2d116c867dc673edab2bfdadde6b6a75f3f9
* Update openstack-ansible-rabbitmq_server from branch 'master'
to bf53f24dd40b9938ba3d10ba35cc87489d285980
- Fix erlang upgrades for rabbitmq external_repo installs
Upgrading only the 'erlang' package does not pull in updated
dependencies which can cause rabbitmq to fail to start during an
upgrade.
The external and distro dependencies appear to match, so these
are conformed to ensure that all packages are updated during an
upgrade.
This patch additionally switches deployments to the 'erlang-base'
rather than 'erlang-base-hipe' package which appears to have been
discontinued.
Change-Id: I8bd010cba13946c9c46c3792624841e41e3c2eaf
* Update openstack-ansible-rabbitmq_server from branch 'master'
to 840f47f4b9e2874019630fd70a77fe31be6aacd0
- Merge "Use ansible-role-pki to generate SSL certificates"
- Use ansible-role-pki to generate SSL certificates
Supports two scenarios:
1) variables defined in defaults/main.yml are sufficient to create
a root/intermediate CA certificate for rabbitmq when this role
is used outside openstack-ansible.
2) when:
openstack_pki_dir
openstack_pki_setup_host
openstack_pki_authorities
openstack_pki_service_intermediate_cert_name
are defined, an external CA already created on the deploy host
with a previous run of ansible-role-pki will be used as the CA.
Server certificates for the rabbitmq instances are created from the
data in rabbitmq_pki_certificates in both situations:
Depends-On: https://review.opendev.org/c/openstack/openstack-ansible/+/788031
Change-Id: I4cb7c48a74a307217b645cb8528fdbb0f7b9f596
* Update openstack-ansible-rabbitmq_server from branch 'master'
to 235d912059b9b67659cc7fe8a9af67f683430b8e
- Add debian bullseye support
Packages for bullseye are only availble from the distro repository
as there are no officially provided packages from RabbitMQ or Erlang
Solutions yet.
Change-Id: I8515470997982ccb765b6e3bbc824a5445d99f86