Files
openstack-ansible-plugins/playbooks/mistral.yml
Dmitriy Rabotyagov d3227cbce9 Adopt playbooks for ANSIBLE_GATHER_SUBSET removal
With Ansible 2.18 ANSIBLE_GATHER_SUBSET env var and corresponding
`gather_subset` config parameter was removed in favor of
`module_defaults` parameter.

We adopt our playbooks to respect previous minimal defaults for
facts gathering, along with intorducing new
ansible variable to control it.

Without these changes all facts are being gathered by default.

Change-Id: I3377b5f623fc8ca195d91ef9f9a3af43e010a99c
Signed-off-by: Dmitriy Rabotyagov <dmitriy.rabotyagov@cleura.com>
2025-10-06 18:37:42 +02:00

113 lines
3.5 KiB
YAML

---
# Copyright 2019, VEXXHOST, 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 mistral facts
hosts: mistral_all
gather_facts: "{{ osa_gather_facts | default(true) }}"
module_defaults:
ansible.builtin.setup:
gather_subset: "{{ osa_gather_subset | default(lookup('ansible.builtin.env', 'ANSIBLE_GATHER_SUBSET', default='!all,min')) }}"
tasks:
- name: Gather additional facts
ansible.builtin.include_role:
name: openstack.osa.gather_extra_facts
when: osa_gather_facts | default(true)
tags:
- always
- name: Configure haproxy services
ansible.builtin.import_playbook: openstack.osa.haproxy_service_config
vars:
service_group: mistral_api
service_variable: "mistral_haproxy_services"
when:
- groups[service_group] | length > 0
- groups['haproxy'] | length > 0
tags:
- haproxy-service-config
- name: Install mistral components
hosts: mistral_all
gather_facts: false
serial: "{{ mistral_serial | default(['1', '100%']) }}"
environment: "{{ deployment_environment_variables | default({}) }}"
user: root
pre_tasks:
- name: Setup installation variables
ansible.builtin.include_role:
name: openstack.osa.install_defaults
defaults_from: "{{ install_method }}"
public: true
apply:
tags:
- always
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.
- name: Disabling haproxy backends
ansible.builtin.include_role:
name: openstack.osa.haproxy_endpoint_manage
apply:
tags:
- always
vars:
haproxy_backend: mistral-back
haproxy_state: disabled
when:
- "'mistral_all' in group_names"
- "groups['mistral_all'] | length > 1"
tags:
- always
- name: Including container-setup tasks
ansible.builtin.include_role:
name: "openstack.osa.{{ container_tech | default('lxc') }}_container_setup"
when: not is_metal
- name: Including unbound-clients tasks
ansible.builtin.include_role:
name: openstack.osa.unbound_clients
when:
- hostvars['localhost']['resolvconf_enabled'] | bool
roles:
- role: "os_mistral"
- role: "openstack.osa.system_crontab_coordination"
tags:
- crontab
post_tasks:
# Now that container changes are done, we can set
# the load balancer back end for this container
# to available again.
- name: Enabling haproxy backends
ansible.builtin.include_role:
name: openstack.osa.haproxy_endpoint_manage
apply:
tags:
- always
vars:
haproxy_backend: mistral-back
haproxy_state: enabled
when:
- "'mistral_all' in group_names"
- "groups['mistral_all'] | length > 1"
tags:
- always