This patch changes the use of systemctl via the command module over to the Ansible systemd module. One conditional check for systemd was removed since all supported distributions deployed by OSA have systemd. Change-Id: I926e94d185f4999e13b33f7d035b9dd5cf732f0b
104 lines
3.6 KiB
YAML
104 lines
3.6 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 set to 'external_repo' on openSUSE
|
|
fail:
|
|
msg: "rabbitmq_install_method='external_repo' is not supported on openSUSE"
|
|
when: rabbitmq_install_method == 'external_repo'
|
|
|
|
- block:
|
|
- name: Add rabbitmq gpg-keys
|
|
rpm_key:
|
|
state: present
|
|
key: "{{ item.keyserver }}/{{ item.key_name }}"
|
|
register: add_keys
|
|
until: add_keys | success
|
|
retries: 5
|
|
delay: 2
|
|
with_items: "{{ rabbitmq_gpg_keys }}"
|
|
tags:
|
|
- rabbitmq-gpg-keys
|
|
|
|
rescue:
|
|
- name: Add rabbitmq gpg-keys using fallback keyserver
|
|
rpm_key:
|
|
state: present
|
|
key: "{{ item.fallback_keyserver }}/{{ item.key_name }}"
|
|
register: add_keys_fallback
|
|
until: add_keys_fallback | success
|
|
retries: 5
|
|
delay: 2
|
|
with_items: "{{ rabbitmq_gpg_keys }}"
|
|
when:
|
|
- item.fallback_keyserver is defined
|
|
tags:
|
|
- rabbitmq-gpg-keys
|
|
when: rabbitmq_install_method != 'distro'
|
|
|
|
# NOTE(hwoarang) For the upgrade job we fetch the old version from upstream and the new one from OBS. zypper gets upset if you
|
|
# get the updaded package during an update so you need to pass --force to actually force such a change. However, --force forces a
|
|
# re-install independent of repo changes but it's not the end of the world.
|
|
- name: Install the RabbitMQ package RPM
|
|
zypper:
|
|
name: "{{ rabbitmq_package_path }}"
|
|
state: "{{ rabbitmq_package_state }}"
|
|
register: install_rabbitmq
|
|
tags:
|
|
- rabbitmq-package-rpm
|
|
- rabbitmq-zypper-packages
|
|
when: rabbitmq_install_method == 'file'
|
|
|
|
- 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
|
|
when: rabbitmq_install_method == 'distro'
|
|
|
|
# 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 | changed
|
|
tags:
|
|
- rabbitmq-config
|