openstack-ansible/playbooks/ceph-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

242 lines
6.1 KiB
YAML

---
# Copyright 2016, Logan Vig <logan2211@gmail.com>
#
# 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 ceph-mon facts
hosts: ceph-mon
gather_facts: "{{ osa_gather_facts | default(True) }}"
tags:
- always
- name: Install ceph mons
hosts: ceph-mon
user: root
gather_facts: false
vars_files:
- "defaults/{{ install_method }}_install.yml"
pre_tasks:
- name: Gather additional facts for monitor_address_block
include_tasks: "common-tasks/gather-hardware-facts.yml"
vars:
deployment_extra_facts_filter: "ansible_all_ipv[4|6]_addresses"
deployment_extra_facts_subset: "!all,network"
when: monitor_address_block is defined
args:
apply:
tags:
- always
tags:
- always
- name: Gather additional facts for monitor_interface
include_tasks: "common-tasks/gather-hardware-facts.yml"
vars:
deployment_extra_facts_filter: "{{ 'ansible_' ~ monitor_interface | replace('-','_') }}"
deployment_extra_facts_subset: "!all,network"
when: monitor_interface is defined
args:
apply:
tags:
- always
tags:
- always
- name: Gather memory facts
include_tasks: "common-tasks/gather-hardware-facts.yml"
vars:
deployment_extra_facts_filter: "ansible_memtotal*"
deployment_extra_facts_subset: "!all,hardware"
args:
apply:
tags:
- always
tags:
- always
- import_tasks: common-tasks/ceph-server.yml
- name: Create systemd service directory
file:
path: "/etc/systemd/system/ceph-mon@.service.d/"
state: directory
group: "root"
owner: "root"
mode: "0755"
when:
- ansible_facts['pkg_mgr'] == 'dnf'
- ansible_facts['service_mgr'] == 'systemd'
- name: Add systemd override for PrivateDevices
copy:
dest: "/etc/systemd/system/ceph-mon@.service.d/ceph-mon-systemd-overrides.conf"
content: |
[Service]
PrivateDevices=false
when:
- ansible_facts['pkg_mgr'] == 'dnf'
- ansible_facts['service_mgr'] == 'systemd'
roles:
- role: ceph-defaults
tags:
- skip_ansible_lint
- role: ceph-facts
tags:
- skip_ansible_lint
- role: ceph-common
tags:
- skip_ansible_lint
- role: ceph-handler
tags:
- skip_ansible_lint
- role: ceph-config
tags:
- skip_ansible_lint
- role: ceph-mon
tags:
- skip_ansible_lint
- role: ceph-mgr
tags:
- skip_ansible_lint
- role: openstack.osa.system_crontab_coordination
tags:
- crontab
post_tasks:
- include_tasks: "common-tasks/rsyslog-client.yml"
vars:
rsyslog_client_log_rotate_file: ceph_log_rotate
rsyslog_client_log_dir: "/var/log/ceph"
rsyslog_client_config_name: "99-ceph-rsyslog-client.conf"
environment: "{{ deployment_environment_variables | default({}) }}"
tags:
- ceph
- ceph-mon
- name: Gather ceph-osd facts
hosts: ceph-osd
gather_facts: "{{ osa_gather_facts | default(True) }}"
tags:
- always
- name: Install ceph osds
hosts: ceph-osd
user: root
gather_facts: false
vars_files:
- "defaults/{{ install_method }}_install.yml"
pre_tasks:
- name: Gather memory facts
include_tasks: "common-tasks/gather-hardware-facts.yml"
vars:
deployment_extra_facts_filter: "ansible_memtotal*"
deployment_extra_facts_subset: "!all,hardware"
args:
apply:
tags:
- always
tags:
- always
- import_tasks: common-tasks/ceph-server.yml
roles:
- role: ceph-defaults
tags:
- skip_ansible_lint
- role: ceph-facts
tags:
- skip_ansible_lint
- role: ceph-common
tags:
- skip_ansible_lint
- role: ceph-handler
tags:
- skip_ansible_lint
- role: ceph-config
tags:
- skip_ansible_lint
- role: ceph-osd
tags:
- skip_ansible_lint
- role: openstack.osa.system_crontab_coordination
tags:
- crontab
post_tasks:
- include_tasks: "common-tasks/rsyslog-client.yml"
vars:
rsyslog_client_log_rotate_file: ceph_log_rotate
rsyslog_client_log_dir: "/var/log/ceph"
rsyslog_client_config_name: "99-ceph-rsyslog-client.conf"
environment: "{{ deployment_environment_variables | default({}) }}"
tags:
- ceph
- ceph-osd
- name: Gather ceph-mds facts
hosts: ceph-mds
gather_facts: "{{ osa_gather_facts | default(True) }}"
tags:
- always
- name: Install ceph metadata servers
hosts: ceph-mds
gather_facts: false
user: root
vars_files:
- "defaults/{{ install_method }}_install.yml"
pre_tasks:
- name: Gather memory facts
include_tasks: "common-tasks/gather-hardware-facts.yml"
vars:
deployment_extra_facts_filter: "ansible_memtotal*"
deployment_extra_facts_subset: "!all,hardware"
args:
apply:
tags:
- always
tags:
- always
roles:
- role: ceph-defaults
tags:
- skip_ansible_lint
- role: ceph-facts
tags:
- skip_ansible_lint
- role: ceph-common
tags:
- skip_ansible_lint
- role: ceph-handler
tags:
- skip_ansible_lint
- role: ceph-config
tags:
- skip_ansible_lint
- role: ceph-mds
tags:
- skip_ansible_lint
- role: "openstack.osa.system_crontab_coordination"
tags:
- "system-crontab-coordination"
vars:
is_metal: "{{ properties.is_metal|default(false) }}"
tags:
- ceph-mds