fd498ad456
With the more recent versions of ansible, we should now use "is" instead of the "|" sign for the tests. This should fix it. Change-Id: I70c853d9aba11eb91ab25f7a29417d0ec50fdf3d
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 is 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 is 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 is changed
|
|
tags:
|
|
- rabbitmq-config
|