openstack-ansible/playbooks/os-cloudkitty-install.yml
Dmitriy Rabotyagov 2492d82da6 Fix extra facts gathering with tags
When switching to gathering min facts, we introduced common task that
was responsible for gathering specific subset. However we used
include_task and not applied always tag to include. That resulted in
effect that facts were not gathered when playbook run with tags
and leads to failure.

To workaround that we move include to prior facts gathering stanza.

As alternative option for ceph we applied always tag to include.

Change-Id: Ie996262043edb8fb9c7221a5cd98e98a0111ac28
2022-03-25 19:56:44 +01:00

70 lines
2.3 KiB
YAML

---
# Copyright 2021, ELITS Cloud Services AB
#
# 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 cloudkitty facts
hosts: cloudkitty_all
gather_facts: "{{ osa_gather_facts | default(True) }}"
tasks:
- name: Gather additional facts
include_tasks: "common-tasks/gather-hardware-facts.yml"
when: osa_gather_facts | default(True)
tags:
- always
- name: Install cloudkitty services
hosts: cloudkitty_all
serial: "{{ cloudkitty_api_serial | default(['1', '100%']) }}"
gather_facts: false
user: root
environment: "{{ deployment_environment_variables | default({}) }}"
vars_files:
- "defaults/repo_packages/openstack_services.yml"
- "defaults/{{ install_method }}_install.yml"
tags:
- cloudkitty
pre_tasks:
# 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: cloudkitty_api-back
haproxy_state: disabled
when:
- "'cloudkitty_api' in group_names"
- "groups['cloudkitty_api'] | length > 1"
- include_tasks: common-tasks/unbound-clients.yml
when:
- hostvars['localhost']['resolvconf_enabled'] | bool
roles:
- role: "os_cloudkitty"
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: cloudkitty_api-back
haproxy_state: enabled
when:
- "'cloudkitty_api' in group_names"
- "groups['cloudkitty_api'] | length > 1"