0139ac0cdfe785ecb61e4fab400597ecb5e6de84
585 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
Zuul
|
9b7718b63a | Merge "Do not pin packages nor install gpgs for distro method" | ||
|
Dmitriy Rabotyagov
|
5c3cec5344 |
Add distro infra jobs
These jobs aims to ensure that infra can be installed through distro method and it still executes it's required functionality. Depends-On: https://review.opendev.org/c/openstack/openstack-ansible/+/917148 Change-Id: I4aa840b93a320bd89f9f630a4f58b8004380f28a |
||
|
Dmitriy Rabotyagov
|
5e68cb6943 |
Do not pin packages nor install gpgs for distro method
When we do not need to install external GPG keys nor pin packages to external sources when installation_method is set to distro. Change-Id: I29bbcacd6ce06516f1ef34cf58da8cac8ef79ea8 |
||
|
Dmitriy Rabotyagov
|
ff5b23ae93 |
Add rabbitmq distro install support for EL
This patch adds installation of "native" to EL repo (which actually is "extras") that provides RabbitMQ and Erlang. This behaviour would align EL with DEB systems in terms of "distro" path. Change-Id: Ifa197131dd010108f3a0745322b32de1fb08b813 |
||
|
Andrew Bonney
|
f5ecdf4852 |
Adjust legacy OpenStack HA policy to make reply queues HA
Changes in oslo.messaging for 2023.1 exposed a known race condition in RabbitMQ when dealing with non-HA classic queues. When a RMQ cluster member is taken down, clients failing over to other members may erroneously be told a queue exists when it is in the process of being deleted. This can cause them to permanently sit waiting for messages from a queue that no longer exists until their services are restarted. Making the reply queues HA resolves this issue, at the expense of a x3 increase in reply queues across the cluster. My assumption is that reply queues were previously excluded from HA policy as a performance gain given their link to the number of compute nodes in an OpenStack deployment. Context: https://bugs.launchpad.net/oslo.messaging/+bug/2031512 Change-Id: Ia0a26fdfdfa09088c921f1530d4ac020b2bec290 |
||
|
Andrew Bonney
|
cfb1c28151 |
Remove RabbitMQ restart when changing policy
My assumption is that this restart only exists for historical reasons or in order to force client re-connection and re-definition of queues to match this policy. Unfortunately the current task only executes on a single RabbitMQ node when part of a cluster, so it is ineffective in forcing reconnection. From a brief review at least when shifting from non-HA to HA this also isn't required as queues are immediately updated to reflect the new policy. Given no clear reason for the task to be present, I'm removing it ahead of making changes to the default HA policy. Change-Id: I956abe68d4d7921a4e87ae5a7694d49546bdde94 |
||
|
Christian Rohmann
|
1d9a0837e9 |
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 |
||
|
Zuul
|
e4c234dcdc | Merge "Remove legacy upgrade task" | ||
|
Jonathan Rosser
|
6722f0bea4 |
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 |
||
|
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 |
||
|
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 |
||
|
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 |
||
|
Dmitriy Rabotyagov
|
346cf85298 |
Update RabbitMQ to 3.12 series
Change-Id: I2e320b862dbc86a70f660510f2b946c6ac135ca1 |
||
|
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 |
||
|
Jonathan Rosser
|
447584c0ec |
Fix linter errors in example playbook
Change-Id: I4aa03c4ddad206cac8bf73b1ec44eed5aa0f715b |
||
|
Dmitriy Rabotyagov
|
b4a3b6269b |
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 |
||
|
Dmitriy Rabotyagov
|
2fc53a3a03 |
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 |
||
|
Damian Dabrowski
|
953ceccb0b |
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
|
||
|
Neil Hanlon
|
efd5ba9be7 |
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 |
||
|
Neil Hanlon
|
3ee66ae7af |
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 |
||
|
Neil Hanlon
|
ab9dbfb50e |
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 |
||
|
Dmitriy Rabotyagov
|
84d88c5a26 |
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 |
||
|
Damian Dabrowski
|
e6f1c69558 |
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 |
||
|
Dmitriy Rabotyagov
|
98a7f71d17 |
Update erlang to 25.2.3 and rabbit to 3.11.10
Change-Id: I8c4981a29715509514d5904ca68211093f518976 |
||
|
Dmitriy Rabotyagov
|
5281c0e264 |
Bump rabbitmq to 3.11 and erlang to 25.2
Change-Id: If8c83682093cb08e8a092550c44010134cd210d3 |
||
|
Jonathan Rosser
|
d2a7fbe527 |
Remove "warn" parameter from command module
This is removed in ansible 2.14. Change-Id: I3149f3babe9acf8c5854982f2d8e1cbcc23371e1 |
||
|
Dmitriy Rabotyagov
|
fd205c38da |
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 |
||
|
Zuul
|
24c57bf84e | Merge "Update the heartbeat and handshake timeout" | ||
| 684dae5209 |
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 |
|||
|
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 |
||
|
Zuul
|
cd748c38a7 | Merge "Update rabbitmq to 3.10.7-1" | ||
|
Kevin Carter
|
2e2ef998f5 |
Update rabbitmq to 3.10.7-1
Bigger number, moar better. Change-Id: I097b8c678a0744f31db04d0a402a2bba793f6824 Signed-off-by: Kevin Carter <kevin@cloudnull.com> |
||
|
Erik Berg
|
85cd51c24e |
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 |
||
|
Dmitriy Rabotyagov
|
30f338e4bc |
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 |
||
|
Dmitriy Rabotyagov
|
bfaeecc548 |
Update RabbitMQ version to 3.10
Change-Id: Ie291b079c4f10949ad63f80ebb2bafcc09854ffe |
||
|
Zuul
|
f3f624f4c9 | Merge "Add support for centos-9" | ||
|
Jonathan Rosser
|
b79a6c8bcf |
Add support for centos-9
Change-Id: I5428a7d8ebb8e1cc108608bddb94784696dab098 |
||
|
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 |
||
|
Jonathan Rosser
|
45a5dd7729 |
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 |
||
|
Dmitriy Rabotyagov
|
dceda157fa |
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 |
||
|
Dmitriy Rabotyagov
|
8316e00cf0 |
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 |
||
|
OpenStack Proposal Bot
|
0c9c494333 |
Updated from OpenStack Ansible Tests
Change-Id: Ie49bd68329ab47a4a583d385a01e92d8ffb9a3f2 |
||
|
Zuul
|
67679fcf2a | Merge "Remove affecting rabbitmq hosts record" | ||
|
Zuul
|
1de3bf4cc7 | Merge "Verify if hosts file already managed with OSA" | ||
|
Dmitriy Rabotyagov
|
e6b3ddbc1e |
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 |
||
|
Dmitriy Rabotyagov
|
c8ce051651 |
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 |
||
|
Zuul
|
9790981aa6 | Merge "Use journald logging for RabbitMQ" | ||
|
Zuul
|
cf7d4bafe1 | Merge "Remove old repos for Debian" | ||
|
Zuul
|
ae3c16ba00 | Merge "Use systemd_service role for overrides" | ||
|
Zuul
|
5956b05381 | Merge "Use sysctl ini-like config file" |