refactor(bootstrap,configuration): add per-role _normalize.yml for platform resolution
This commit is contained in:
24
roles/bootstrap/tasks/_normalize.yml
Normal file
24
roles/bootstrap/tasks/_normalize.yml
Normal file
@@ -0,0 +1,24 @@
|
||||
---
|
||||
# Resolve the OS-specific variable namespace and task file for the bootstrap role.
|
||||
- name: Validate OS is supported for bootstrap
|
||||
ansible.builtin.assert:
|
||||
that:
|
||||
- os is defined
|
||||
- os in bootstrap_os_task_map
|
||||
fail_msg: >-
|
||||
Unsupported OS '{{ os | default("undefined") }}' for bootstrap.
|
||||
Supported: {{ bootstrap_os_task_map | dict2items | map(attribute='key') | join(', ') }}
|
||||
quiet: true
|
||||
vars:
|
||||
bootstrap_os_task_map:
|
||||
almalinux: _dnf_family.yml
|
||||
alpine: alpine.yml
|
||||
archlinux: archlinux.yml
|
||||
debian: debian.yml
|
||||
fedora: _dnf_family.yml
|
||||
opensuse: opensuse.yml
|
||||
rocky: _dnf_family.yml
|
||||
rhel: rhel.yml
|
||||
ubuntu: ubuntu.yml
|
||||
ubuntu-lts: ubuntu.yml
|
||||
void: void.yml
|
||||
@@ -1,6 +1,9 @@
|
||||
---
|
||||
- name: Normalize bootstrap
|
||||
ansible.builtin.import_tasks: _normalize.yml
|
||||
|
||||
- name: Create API filesystem mountpoints in installroot
|
||||
when: is_rhel | bool
|
||||
when: os_family == 'RedHat'
|
||||
ansible.builtin.file:
|
||||
path: "/mnt/{{ item }}"
|
||||
state: directory
|
||||
@@ -11,7 +14,7 @@
|
||||
- sys
|
||||
|
||||
- name: Mount API filesystems into installroot
|
||||
when: is_rhel | bool
|
||||
when: os_family == 'RedHat'
|
||||
ansible.posix.mount:
|
||||
src: "{{ item.src }}"
|
||||
path: "/mnt/{{ item.path }}"
|
||||
|
||||
Reference in New Issue
Block a user