openstack-ansible/playbooks/rabbitmq-install.yml
Jean-Philippe Evrard ad985158b6 Do not run tasks for containers when on metal
Without this patch, ansible parses the includes for containers,
even when running on metal, and therefore even if there is no
reason to do so.

This is a problem because some of those includes rely on variables
set by our dynamic inventory, and would fail when running OSA
with a static inventory on metal.

This patch solves the problem by ensuring the task will not
run unnecessarily.

Change-Id: I101b121d3d94673597a705979c38ea207043555f
2018-07-06 12:09:31 +00:00

85 lines
2.7 KiB
YAML

---
# Copyright 2014, Rackspace US, Inc.
#
# 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: Create and configure rabbitmq container
hosts: "{{ rabbitmq_host_group | default('rabbitmq_all') }}"
serial: 1
gather_facts: "{{ osa_gather_facts | default(True) }}"
user: root
pre_tasks:
- include: "common-tasks/os-{{ container_tech | default('lxc') }}-container-setup.yml"
static: no
vars:
extra_container_config_no_restart:
- "lxc.start.order=19"
when: not is_metal
- include: common-tasks/unbound-clients.yml
static: no
when:
- hostvars['localhost']['resolvconf_enabled'] | bool
roles:
- role: "system_crontab_coordination"
environment: "{{ deployment_environment_variables | default({}) }}"
tags:
- rabbitmq
# The cluster must be stopped when doing major/minor upgrades
# http://www.rabbitmq.com/clustering.html#upgrading
- name: Stop RabbitMQ nodes that are not the upgrader
hosts: "{{ rabbitmq_host_group | default('rabbitmq_all') }}[1:]"
user: root
tasks:
- name: "Stop RabbitMQ"
service:
name: "rabbitmq-server"
state: "stopped"
when: rabbitmq_upgrade | default(false) | bool
- name: Install rabbitmq server
hosts: "{{ rabbitmq_host_group | default('rabbitmq_all') }}"
serial: 20%
user: root
roles:
- role: "rabbitmq_server"
post_tasks:
- include_tasks: "common-tasks/rsyslog-client.yml"
vars:
rsyslog_client_log_rotate_file: rabbitmq_log_rotate
rsyslog_client_log_dir: "/var/log/rabbitmq"
rsyslog_client_config_name: "99-rabbitmq-rsyslog-client.conf"
environment: "{{ deployment_environment_variables | default({}) }}"
tags:
- rabbitmq
- name: Ensure rabbitmq user for monitoring GUI
hosts: "{{ rabbitmq_host_group | default('rabbitmq_all') }}[0]"
user: root
tasks:
- name: Create rabbitmq user for monitoring GUI
rabbitmq_user:
user: "{{ rabbitmq_monitoring_userid|default('monitoring') }}"
password: "{{ rabbitmq_monitoring_password }}"
tags: "monitoring"
state: "present"
no_log: true
when: rabbitmq_monitoring_password is defined
environment: "{{ deployment_environment_variables | default({}) }}"
tags:
- rabbitmq-config
- rabbitmq