From ff5b23ae93e43ac44b4f248d509e65a8c6268822 Mon Sep 17 00:00:00 2001 From: Dmitriy Rabotyagov Date: Wed, 24 Apr 2024 19:16:51 +0200 Subject: [PATCH] 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 --- tasks/install_yum.yml | 19 ++++++++++++++++--- vars/redhat.yml | 17 +++++++++++++---- 2 files changed, 29 insertions(+), 7 deletions(-) diff --git a/tasks/install_yum.yml b/tasks/install_yum.yml index f7a0c061..60e299b4 100644 --- a/tasks/install_yum.yml +++ b/tasks/install_yum.yml @@ -13,10 +13,12 @@ # See the License for the specific language governing permissions and # limitations under the License. -- name: Fail if installation method is not 'external_repo' +- name: Fail if installation method is not 'external_repo' or 'distro' fail: - msg: "The only supported rabbitmq_install_method for RedHat is 'external_repo'." - when: rabbitmq_install_method != 'external_repo' + msg: "The only supported rabbitmq_install_method for RedHat is 'external_repo' and 'distro'." + when: + - rabbitmq_install_method != 'external_repo' + - rabbitmq_install_method != 'distro' - name: Configure repositories yum_repository: @@ -29,6 +31,17 @@ with_items: - "{{ rabbitmq_erlang_repo }}" - "{{ rabbitmq_repo }}" + when: + - rabbitmq_install_method == 'external_repo' + tags: + - rabbitmq-repos + +- name: Install RabbitMQ packages + yum: + name: "{{ rabbitmq_distro_extras_repo }}" + state: "{{ rabbitmq_package_state }}" + when: + - rabbitmq_install_method == 'distro' tags: - rabbitmq-repos diff --git a/vars/redhat.yml b/vars/redhat.yml index f6ec6313..68dd53d4 100644 --- a/vars/redhat.yml +++ b/vars/redhat.yml @@ -46,7 +46,16 @@ _rabbitmq_erlang_repo: - https://dl.cloudsmith.io/public/rabbitmq/rabbitmq-erlang/gpg.E495BB49CC4BBE5B.key - https://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc -rabbitmq_distro_packages: - - openssl - - "erlang-{{ _erlang_package_version }}.{{ _erlang_package_dist_tag }}.{{ ansible_facts['architecture'] }}" - - "rabbitmq-server-{{ rabbitmq_package_version }}.{{ _rabbitmq_package_dist_tag }}.noarch" +rabbitmq_distro_packages_mapping: + distro: + - openssl + - rabbitmq-server + external_repo: + - openssl + - "erlang-{{ _erlang_package_version }}.{{ _erlang_package_dist_tag }}.{{ ansible_facts['architecture'] }}" + - "rabbitmq-server-{{ rabbitmq_package_version }}.{{ _rabbitmq_package_dist_tag }}.noarch" + +rabbitmq_distro_packages: "{{ rabbitmq_distro_packages_mapping[rabbitmq_install_method] }}" + +rabbitmq_distro_extras_repo: + - centos-release-rabbitmq-*