openstack-ansible/playbooks/os-masakari-install.yml
Dmitriy Rabotyagov f89d87c4b5 Gather additional required facts to min
With minimal facts gathering we will experience failures while trying to
evaluate amount of threads for apis or mounts for hardening. So to avoid
gathering full hardware subset, we add common-task which will gather
only specific subset that can be additionally filtered.

Gathering processor or mounts subsent simply does not work with ansible
and result in full hardware subset as well.

Change-Id: Ia5802b4ec0b18271b8c5fbcc5574b484c5233a01
2021-06-01 09:29:22 +00:00

92 lines
2.9 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 masakari facts
hosts: masakari_all
gather_facts: "{{ osa_gather_facts | default(True) }}"
tags:
- always
- name: Setup corosync cluster
hosts: masakari_monitor
gather_facts: false
user: root
vars:
pacemaker_corosync_group: masakari_monitor
pacemaker_corosync_ring_interface: "{{ masakari_monitor_corosync_multicast_interface }}"
haveged_enabled: false
pre_tasks:
- name: Gather additional facts
include_tasks: "common-tasks/gather-hardware-facts.yml"
vars:
deployment_extra_facts_filter: "{{ 'ansible_' ~ pacemaker_corosync_ring_interface | replace('-','_') }}"
deployment_extra_facts_subset: "!all,network"
tags:
- always
roles:
- role: "pacemaker_corosync"
tags: pacemaker-corosync
- name: Install the masakari components
hosts: masakari_all
gather_facts: false
user: root
vars_files:
- "defaults/repo_packages/openstack_services.yml"
- "defaults/{{ install_method }}_install.yml"
pre_tasks:
- name: Gather additional facts
include_tasks: "common-tasks/gather-hardware-facts.yml"
tags:
- always
# In order to ensure that any container, software or
# config file changes which causes a container/service
# restart do not cause an unexpected outage, we drain
# the load balancer back end for this container.
- include_tasks: common-tasks/haproxy-endpoint-manage.yml
vars:
haproxy_backend: masakari_api-back
haproxy_state: disabled
when:
- "'masakari_api' in group_names"
- "groups['masakari_api'] | length > 1"
- include_tasks: "common-tasks/os-{{ container_tech | default('lxc') }}-container-setup.yml"
when: not is_metal
- include_tasks: common-tasks/unbound-clients.yml
when:
- hostvars['localhost']['resolvconf_enabled'] | bool
roles:
- role: "os_masakari"
post_tasks:
# Now that container changes are done, we can set
# the load balancer back end for this container
# to available again.
- include_tasks: common-tasks/haproxy-endpoint-manage.yml
vars:
haproxy_backend: masakari_api-back
haproxy_state: enabled
when:
- "'masakari_api' in group_names"
- "groups['masakari_api'] | length > 1"
environment: "{{ deployment_environment_variables | default({}) }}"
tags:
- masakari