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
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
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
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
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
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
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
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
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
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
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
This is required to create the self signed certificate. Minimal
container images may not contain the openssl package.
Change-Id: Id0535cc66671077f8100e66584a9432d5c3d996d
This also includes fix of erlang package pinning
Testing of bionic is disabled to resolve circular dependency
Needed-By: https://review.opendev.org/731837
Change-Id: I4fb070f7b8a97def59e227594273e02fbd8ae2f2
This uses the rabbitmq/erlang packages from the ubuntu repo itself rather than
a specific version from packagecloud. This should be updated once official
versioned packages are published.
Change-Id: I28ef6f425aac038989fc9981caf9589b3a8c3617
This unifies the way of rabbitmq installation across all distros.
Also includes reno for deprecation of file installation method.
Change-Id: Idcf2d298e2808ef7b1a2160fc94cd6c1b5929182
As we're using "upstream" suse repo for retrieving erlang
which don't store previous versions, we have to drop
erlang bump for suse. This will allow to install latest available erlang
which should work.
Change-Id: Ibc0cfa87a57b4f3fb181158f15bb4bf586199d00
This patch makes SUSE use the upstream repos for RabbitMQ and
the devel:languages:erlang:Factory for Erlang.
As all distros are using rabbit 3.8 we can drop checking
3.7 style cluster_status output.
Change-Id: Ifaba2611f987e4e135b7a28db6c6053ef63b0913
This patch changes the default deployment back to using the
RabbitMQ external repositories. This restores the behaviour
to the same as the old and ships the 3.7.x series.
We deploy without HiPE by default however our testing is doing
it with HiPE. This patch drops it so we can actually test
behaviour that we deploy by default.
Change-Id: I49747e104f118ef1fb2bdeb329c92d2f5fb66c56
This patch uses a feature of apt_key that allows us to send
a payload containing the key data directly without having
to upload it beforehand.
Change-Id: I4d0ce755461ae27018015dd63581ba9b64cf5122
This patch adds support for this role to be able to deploy on
Debian Stretch.
Change-Id: Ia34d43731d880af3b663e62323c14cf77098c984
Needed-By: I9a92b73c419a0dc1cca40dacfef75de61a61db94
We make remote network hits to get the GPG keys which are quite
unreliable, and apt_key does not support using a proxy properly [1]
so let's store them inside the role and use them.
The implementation here matches that which was done in the
galera_client role in I520ccbadf3320b0d07fc83e3dbec9ea2bd16ec83
[1] https://github.com/ansible/ansible/issues/31691
Change-Id: I2715c904975b7940af72bd422904e748d3bae953
Fall back to the erlang-base package on arm64 architecture as
the erlang-base-hipe package is not available.
Change-Id: Ic8aeec9cab6aacb5c48755ea7ddd8a3768b5c343
The rabbitmq package installed on both xenial and bionic is actually
the same, allowing the vars files to be consolidated. The package has
also been updated to the latest stable release, 3.7.8.
The repo used for distro based installs has also been changed to
packagecloud.io. New packages have not been published to rabbitmq.com
for a while, the latest release there was 3.6.15.
Change-Id: Id49a8788593c5d64fc9c149c8912565bc3b05a3f
Previously the 'distro' install method was implemented as the
default for CentOS and SUSE, however, some remnants were left
behind, making the configuration confusing and causing some
issues due to the gpg verification on RedHat trying to use the
RabbitMQ gpg check.
Rather than try and keep the many confusing installation methods
for these distributions, we simply remove the other options and
all the config entries related to it.
As part of this, we need to clean up the functional tests which
previously implemented checks based on the 'file' install type
which is no longer used by any distribution.
Change-Id: I28199ce149f6893d688d11177ec950b17dbf0886
The RDO repository provids a rabbitmq-server which is tested by the
RDO team so we should use that instead of the external one. We also
skip several tasks which add gpg keys and external repositories
since none of these steps is necessary when we install packages
from the distro repos.
Change-Id: I7c0a988f3aab14042ac2491b1021e789ba9ef4b3