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
All references to Gentoo, SUSE, Debian stretch and Centos-7 are removed.
Conditional tasks, ternary operators and variables are simplified where possible
OS specific variables files are generalised where possible
Change-Id: Ic1b8b532adec2c46373d3a0a3cea8387bff7817a
Currently this role doesn't test the integrated jobs.
With the dynamic execution of the roles, this role
also get tested by the integrated repo.
Change-Id: Icba5cb67afe3be9cb6499f95512d7a8849ce6219
This patch adds the Debian jobs for this role to make sure
it's always passing as well as updates the meta to reflect
it's support of Debian accordingly.
Depends-On: I135ea73604890eae5e9e2a7cdcab81b2b39ad426
Change-Id: Idd35e42c8b224d6c69acaa9361587bc25ba19b5d
Upstream provides packages for 42.2 and 42.3 and they may also provide
packages for 15.0 in the future so we should be using the host version
obtained from the Ansible fact in order to get the correct package
for the distribution.
This also updates the role metadata information for openSUSE.
Change-Id: Id6f9d056f4603bacc5e5009354127e562ea363da
The version of erlang we're using, while functional, is not recommended.
This change updates our version of erlang for rabbitmq to be the
recommended version by changing the pinned version of erlang.
The apt package pinning meta dependency has been removed and put into
the apt task file as an include role. To ensure a more uniform process
for setting the version of erlang used with rabbitmq the new variable
`rabbitmq_erlang_version_spec` has been added. This option has a default
of "null" and is set by distro specific variables when applicable.
Erlang version support matrix: https://www.rabbitmq.com/which-erlang.html
Change-Id: Iced12d4533eec068bd11d8bd235d81308ef40427
Signed-off-by: Kevin Carter <kevin.carter@rackspace.com>
With addition of pip_install on every node, we don't
need to have pip_install as a meta dependency.
Depends-On: If3412bb888ebb854874bbc43eb76bfcb3e4a7868
Depends-On: I79ff70c438b44753be2a93f004ebbc46de0a963d
Change-Id: I49847c9fe01c0d4fdf420dbc31985edc08650f2c
We need to add openstack ansible information in the role
metadata to be able to track role maturity. With it,
we can create a role maturity table and take decisions about
role deprecations.
Change-Id: If60e1fd819709b35e4481f05e3735ccc3c8986de
For package pinning to work correctly on Ubuntu, the priority of pinning
to a specific version needs to be higher than the priority of all
packages coming from the ESL repo.
For RedHat distros, the yum-versionlock plugin will need to be installed
and used to properly pin a package to a specific version.
Change-Id: Ie0c241de6a1a371969ed6e2886d6514c9419622f
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
Erlang 20 has been released and is not compatible with the current
release of RabbitMQ.[0] Pin erlang packages to the latest version
version supported by RabbitMQ 3.6.x, 19.3.
[0] https://groups.google.com/forum/#!topic/rabbitmq-users/_imbAavBYjY
Change-Id: Ia8f053e499db7aa7c78c60213d3154d967b92a98
The RabbitMQ community and project recommend erlang 19.3.x for the best,
most stable, results. This change downloads the recommended version of
erlang [ https://www.rabbitmq.com/which-erlang.html ] from ESL and moves
the erlang packages for distros into a specific list installed only when
the ``rabbitmq_install_method`` variable is not set to "file".
Change-Id: Ief57b1fdcb791f0f8ed20c1cbb54ea19d4373f81
Signed-off-by: Kevin Carter <kevin.carter@rackspace.com>
The 'sha256sum' option for the get_url module has been deprecated and
replaced with 'checksum'. The download is skipped if an existing file
already has the expected checksum, making the task to remove an existing
RabbitMQ package file unnecessary.
Change-Id: Icd41e6a316f319bbdfae303592f0f8fde919a312
While pip is not required for this role (it does not install any pip
packages) it does ensure that all the required packages are installed
in order to resolve SNI issues when Ansible executes the get_url task
to fetch the RabbitMQ package.
Change-Id: Ic55811136e01fbb9a400cfb8170fcda4fb3b3867
Signed-off-by: Kevin Carter <kevin.carter@rackspace.com>
The RabbitMQ role no longer does any python package installation,
so the pip_install role dependency is no longer required.
Change-Id: I55f3749e680ea9ff496be7322c776d516ee75c0f
Separate files have been created for vars and tasks related to a
specific package manager. The 'vars_files_var' variable has been created
to store a list of files to search for distro specific variables.
The 'rabbitmq_apt_packages' variable has been deprecated and renamed to
the more generalized 'rabbitmq_dependencies' to better describe its
purpose and to simplify reuse of existing install tasks between multiple
distros.
Change-Id: I1940593978b733501daf5fe25edd393f2f6bee0c