kolla-ansible/ansible/roles/cinder/tasks/precheck.yml
Mark Goddard 49fb55f182 Add Ansible group check to prechecks
We assume that all groups are present in the inventory, and quite obtuse
errors can result if any are not.

This change adds a precheck that checks for the presence of all expected
groups in the inventory for each service. It also introduces a common
service-precheck role that we can use for other common prechecks.

Change-Id: Ia0af1e7df4fff7f07cd6530e5b017db8fba530b3
Partially-Implements: blueprint improve-prechecks
2020-02-28 16:23:14 +00:00

51 lines
1.4 KiB
YAML

---
- import_role:
name: service-precheck
vars:
service_precheck_services: "{{ cinder_services }}"
service_name: "{{ project_name }}"
- name: Get container facts
become: true
kolla_container_facts:
name:
- cinder_api
register: container_facts
- name: Checking free port for Cinder API
wait_for:
host: "{{ api_interface_address }}"
port: "{{ cinder_api_listen_port }}"
connect_timeout: 1
timeout: 1
state: stopped
when:
- container_facts['cinder_api'] is not defined
- inventory_hostname in groups['cinder-api']
- name: Checking at least one valid backend is enabled for Cinder
run_once: True
fail:
msg: "Please enable at least one backend when enabling Cinder"
when:
- not skip_cinder_backend_check | bool
- not enable_cinder_backend_hnas_nfs | bool
- not enable_cinder_backend_iscsi | bool
- not enable_cinder_backend_lvm | bool
- not enable_cinder_backend_nfs | bool
- not cinder_backend_ceph | bool
- not cinder_backend_vmwarevc_vmdk | bool
- not enable_cinder_backend_zfssa_iscsi | bool
- not enable_cinder_backend_quobyte | bool
- name: Checking LVM volume group exists for Cinder
become: true
command: "vgs {{ cinder_volume_group }}"
register: result
changed_when: false
failed_when: result is failed
when:
- enable_cinder | bool
- enable_cinder_backend_lvm | bool
- inventory_hostname in groups['cinder-volume']