diff --git a/validations/ceph-dependencies-installed.yaml b/validations/ceph-dependencies-installed.yaml new file mode 100644 index 000000000..39aadc4dc --- /dev/null +++ b/validations/ceph-dependencies-installed.yaml @@ -0,0 +1,39 @@ +--- +- hosts: overcloud + vars: + metadata: + name: Check if Ceph dependencies are installed + description: > + Prints a message if a ceph dependency is missed + groups: + - pre-deployment + fail_without_deps: true + tripleo_delegate_to: "{{ groups['overcloud'] | default([]) }}" + packages: + - lvm2 + tasks: + - name: Gather the package facts + package_facts: + manager: auto + + - name: Warn about missing dependencies + warn: + msg: "If planning to use Ceph, it is necessary to check {{ item[0] }} is installed!" + when: + - "'{{ item[0] }}' not in ansible_facts.packages" + - not fail_without_deps|default(false)|bool + delegate_to: "{{ item[1] }}" + with_nested: + - "{{ packages }}" + - "{{ tripleo_delegate_to }}" + + - name: Fail if a ceph dependency is missing + fail: + msg: "If planning to use Ceph, it is necessary to install {{ item[0] }} package" + when: + - "'{{ item[0] }}' not in ansible_facts.packages" + - fail_without_deps|default(false)|bool + delegate_to: "{{ item[1] }}" + with_nested: + - "{{ packages }}" + - "{{ tripleo_delegate_to }}"