0139ac0cdfe785ecb61e4fab400597ecb5e6de84
Commit Graph

585 Commits

This Branch
This Branch
All Branches
Author SHA1 Message Date
Zuul
9b7718b63a Merge "Do not pin packages nor install gpgs for distro method" 2024年05月02日 14:15:04 +00:00
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
2024年04月26日 14:15:34 +00:00
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
2024年04月24日 19:22:18 +02:00
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
2024年04月24日 19:16:51 +02:00
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
2024年04月17日 08:34:20 +01:00
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
2024年04月17日 08:34:12 +01:00
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
2024年03月01日 10:54:57 +01:00
Zuul
e4c234dcdc Merge "Remove legacy upgrade task" 2024年02月12日 19:45:26 +00:00
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
2024年02月05日 17:06:21 +00:00
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
346cf85298 Update RabbitMQ to 3.12 series
Change-Id: I2e320b862dbc86a70f660510f2b946c6ac135ca1
2023年10月09日 08:02:14 +00: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
Jonathan Rosser
447584c0ec Fix linter errors in example playbook
Change-Id: I4aa03c4ddad206cac8bf73b1ec44eed5aa0f715b
2023年09月28日 15:31:18 +01:00
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
2023年07月12日 13:32:46 +02:00
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
2023年07月06日 09:39:35 +00:00
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
2023年07月04日 18:42:49 +02:00
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
2023年06月01日 20:57:46 -04:00
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
2023年06月01日 20:54:24 -04:00
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
2023年05月29日 15:25:10 +00:00
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
2023年04月07日 17:16:43 +00:00
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
2023年03月07日 09:10:59 +00:00
Dmitriy Rabotyagov
98a7f71d17 Update erlang to 25.2.3 and rabbit to 3.11.10
Change-Id: I8c4981a29715509514d5904ca68211093f518976
2023年03月03日 21:43:28 +01:00
Dmitriy Rabotyagov
5281c0e264 Bump rabbitmq to 3.11 and erlang to 25.2
Change-Id: If8c83682093cb08e8a092550c44010134cd210d3
2023年01月20日 17:31:03 +01:00
Jonathan Rosser
d2a7fbe527 Remove "warn" parameter from command module
This is removed in ansible 2.14.
Change-Id: I3149f3babe9acf8c5854982f2d8e1cbcc23371e1
2023年01月10日 09:24:24 +00:00
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
2022年12月27日 17:53:27 +01:00
Zuul
24c57bf84e Merge "Update the heartbeat and handshake timeout" 2022年12月19日 14:57:53 +00:00
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
2022年12月13日 13:23:06 +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
Zuul
cd748c38a7 Merge "Update rabbitmq to 3.10.7-1" 2022年10月06日 10:23:35 +00:00
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>
2022年10月04日 15:20:29 +00:00
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
2022年09月14日 14:21:44 +02:00
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
2022年05月30日 16:01:46 +02:00
Dmitriy Rabotyagov
bfaeecc548 Update RabbitMQ version to 3.10
Change-Id: Ie291b079c4f10949ad63f80ebb2bafcc09854ffe
2022年05月28日 07:45:44 +02:00
Zuul
f3f624f4c9 Merge "Add support for centos-9" 2022年05月26日 00:00:28 +00:00
Jonathan Rosser
b79a6c8bcf Add support for centos-9
Change-Id: I5428a7d8ebb8e1cc108608bddb94784696dab098
2022年05月12日 20:13:06 +01: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
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
2022年05月03日 12:38:25 +01:00
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
2022年04月13日 11:43:08 +00:00
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
2022年04月13日 11:37:50 +00:00
OpenStack Proposal Bot
0c9c494333 Updated from OpenStack Ansible Tests
Change-Id: Ie49bd68329ab47a4a583d385a01e92d8ffb9a3f2
2022年03月29日 17:19:46 +00:00
Zuul
67679fcf2a Merge "Remove affecting rabbitmq hosts record" 2022年03月23日 12:14:36 +00:00
Zuul
1de3bf4cc7 Merge "Verify if hosts file already managed with OSA" 2022年03月23日 12:14:34 +00:00
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
2022年02月21日 14:58:39 +01:00
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 
2022年02月21日 12:43:40 +00:00
Zuul
9790981aa6 Merge "Use journald logging for RabbitMQ" 2022年02月12日 02:10:37 +00:00
Zuul
cf7d4bafe1 Merge "Remove old repos for Debian" 2022年02月12日 02:03:05 +00:00
Zuul
ae3c16ba00 Merge "Use systemd_service role for overrides" 2022年02月11日 19:19:38 +00:00
Zuul
5956b05381 Merge "Use sysctl ini-like config file" 2022年02月11日 18:38:02 +00:00