openstack-ansible-rabbitmq_.../tasks/install_zypper.yml
Mohammed Naser cfc8423bfd Ensure that RedHat/SUSE only use a distro install
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
2018-11-07 18:58:06 +00:00

61 lines
2.2 KiB
YAML

---
# Copyright 2017, SUSE LINUX GmbH.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
- name: Fail if installation method is not 'distro'
fail:
msg: "The only supported rabbitmq_install_method for openSUSE is 'distro'."
when: rabbitmq_install_method != 'distro'
- block:
- name: Install the RabbitMQ package
zypper:
name: "{{ rabbitmq_distro_packages }}"
state: "{{ rabbitmq_package_state }}"
register: install_rabbitmq
rescue:
- name: Install the RabbitMQ package (force)
package:
name: "{{ rabbitmq_distro_packages }}"
state: "{{ rabbitmq_package_state }}"
force: yes
register: install_rabbitmq
tags:
- rabbitmq-package-rpm
- rabbitmq-zypper-packages
# NOTE(hwoarang) on openSUSE, rabbitmq-server depends on epmd.service which
# depends on epmd.socket which runs on localhost. It is just easier to let
# the rabbitmq-server launch epmd directly since we are inside a container.
- name: Add rabbitmq-server systemd service (SUSE)
template:
src: "rabbitmq-server.service.j2"
dest: "/etc/systemd/system/rabbitmq-server.service"
register: rabbitmq_server_service_added
# NOTE(hwoarang) Normally, this task should only be executed when
# rabbitmq_install_method == 'distro'. However, the upstream package
# does not contain a systemd file and as such we need to provide one.
# This should be reverted once https://github.com/rabbitmq/rabbitmq-server-release/pull/31
# is merged and new builds of rabbimq-server are available.
tags:
- rabbitmq-config
- name: Reload the systemd daemon
systemd:
daemon_reload: yes
when:
- rabbitmq_server_service_added is changed
tags:
- rabbitmq-config