openstack-ansible/playbooks/rabbitmq-install.yml
Damian Dabrowski 930236d7d2 Implement separated haproxy service config
All services placed behind haproxy include an additional playbook
responsible for creating their haproxy services.

Scope for some variables was changed to be more optimal.

Change-Id: I0eec358d982cc09dcb7e2c0045b9684c65876faf
2023-04-18 21:07:41 +02:00

93 lines
3.0 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: Gather etcd facts
hosts: "{{ rabbitmq_host_group | default('rabbitmq_all') }}"
gather_facts: "{{ osa_gather_facts | default(True) }}"
tags:
- always
- name: Create and configure rabbitmq container
hosts: "{{ rabbitmq_host_group | default('rabbitmq_all') }}"
serial: "{{ rabbitmq_serial | default('20%') }}"
gather_facts: false
user: root
pre_tasks:
- include_tasks: "common-tasks/os-{{ container_tech | default('lxc') }}-container-setup.yml"
vars:
extra_container_config_no_restart:
- "lxc.start.order=19"
when: not is_metal
- include_tasks: common-tasks/unbound-clients.yml
when:
- hostvars['localhost']['resolvconf_enabled'] | bool
roles:
- role: "openstack.osa.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:]"
gather_facts: false
user: root
tasks:
- name: "Stop RabbitMQ"
service:
name: "rabbitmq-server"
state: "stopped"
when: rabbitmq_upgrade | default(false) | bool
- name: Configure haproxy services
import_playbook: common-playbooks/haproxy-service-config.yml
vars:
service_group: rabbitmq_all
service_variable: "rabbitmq_haproxy_services"
when: groups[service_group] | length > 0
tags:
- haproxy-service-config
- name: Install rabbitmq server
hosts: "{{ rabbitmq_host_group | default('rabbitmq_all') }}"
gather_facts: false
serial: "{{ rabbitmq_serial | default('20%') }}"
user: root
roles:
- role: "rabbitmq_server"
environment: "{{ deployment_environment_variables | default({}) }}"
tags:
- rabbitmq
- name: Ensure rabbitmq user for monitoring GUI
hosts: "{{ rabbitmq_host_group | default('rabbitmq_all') }}[0]"
gather_facts: false
user: root
tasks:
- name: Create rabbitmq user for monitoring GUI
rabbitmq_user:
user: "{{ rabbitmq_monitoring_userid|default('monitoring') }}"
password: "{{ rabbitmq_monitoring_password }}"
tags: "{{ rabbitmq_monitoring_tag | default('monitoring') }}"
state: "present"
no_log: true
when: rabbitmq_monitoring_password is defined
environment: "{{ deployment_environment_variables | default({}) }}"
tags:
- rabbitmq-config
- rabbitmq