June
f16f8697c2
Because of how Ansible local relative search paths work, the global "files" and "templates" directories need to be next to the playbooks. However its not intuitive to look into the "playbooks" directory to find the files and templates for a host. Therefore move them out of the "playbooks" directory into the root directory and add symlinks so everything still works. Similarly for local roles, they also need to be next to the playbooks. So for a nicer structure, move the "roles" directory out into the root directory as well and add a symlink so everything still works. Also see: https://docs.ansible.com/ansible/latest/playbook_guide/playbook_pathing.html#resolving-local-relative-paths https://docs.ansible.com/ansible/latest/playbook_guide/playbooks_reuse_roles.html#storing-and-finding-roles
53 lines
3.3 KiB
YAML
53 lines
3.3 KiB
YAML
- name: set fact holding list of supported distribution names
|
|
ansible.builtin.set_fact:
|
|
distribution_check__supported_distribution_names: "{{ distribution_check__distribution_support_spec
|
|
| community.general.json_query('[].name') }}"
|
|
|
|
- name: fail on unsupported distribution (name)
|
|
ansible.builtin.fail:
|
|
msg: The hosts distribution (name) isn't supported.
|
|
when: ansible_facts['distribution'] not in distribution_check__supported_distribution_names
|
|
|
|
- name: set facts for holding lists of supported distribution versions, major versions and releases
|
|
block:
|
|
- name: set fact holding list of supported distribution versions
|
|
ansible.builtin.set_fact:
|
|
distribution_check__supported_distribution_versions: "{{ distribution_check__distribution_support_spec
|
|
| community.general.json_query(distribution_check__supported_distribution_versions_query) }}"
|
|
vars:
|
|
distribution_check__supported_distribution_versions_query: "[?name=='{{ ansible_facts['distribution'] }}'].versions | [].to_string(@)"
|
|
|
|
- name: set fact holding list of supported distribution major versions
|
|
ansible.builtin.set_fact:
|
|
distribution_check__supported_distribution_major_versions: "{{ distribution_check__distribution_support_spec
|
|
| community.general.json_query(distribution_check__supported_distribution_major_versions_query) }}"
|
|
vars:
|
|
distribution_check__supported_distribution_major_versions_query: "[?name=='{{ ansible_facts['distribution'] }}'].major_versions | [].to_string(@)"
|
|
|
|
- name: set fact holding list of supported distribution releases
|
|
ansible.builtin.set_fact:
|
|
distribution_check__supported_distribution_releases: "{{ distribution_check__distribution_support_spec
|
|
| community.general.json_query(distribution_check__supported_distribution_releases_query) }}"
|
|
vars:
|
|
distribution_check__supported_distribution_releases_query: "[?name=='{{ ansible_facts['distribution'] }}'].releases | [].to_string(@)"
|
|
|
|
- name: check for distribution version, major version and release support
|
|
block:
|
|
- name: set fact on whether the distribution version is supported
|
|
ansible.builtin.set_fact:
|
|
distribution_check__distribution_version_supported: "{{ ansible_facts['distribution_version'] in distribution_check__supported_distribution_versions }}"
|
|
|
|
- name: set fact on whether the distribution major version is supported
|
|
ansible.builtin.set_fact:
|
|
distribution_check__distribution_major_version_supported: "{{ ansible_facts['distribution_major_version'] in distribution_check__supported_distribution_major_versions }}" # noqa: yaml[line-length]
|
|
|
|
- name: set fact on whether the distribution release is supported
|
|
ansible.builtin.set_fact:
|
|
distribution_check__distribution_release_supported: "{{ ansible_facts['distribution_release'] in distribution_check__supported_distribution_releases }}"
|
|
|
|
- name: fail, if neither the distributions version, major version or release is supported
|
|
ansible.builtin.fail:
|
|
msg: Neither the hosts distribution version, major version or release is supported.
|
|
when: not (distribution_check__distribution_version_supported
|
|
or distribution_check__distribution_major_version_supported
|
|
or distribution_check__distribution_release_supported)
|