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>
113 lines
3.5 KiB
YAML
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
|