40 lines
1.4 KiB
YAML
40 lines
1.4 KiB
YAML
---
|
|
- name: Normalize system and disk configuration
|
|
when: system_cfg is not defined
|
|
block:
|
|
- name: Validate raw system input types
|
|
ansible.builtin.include_tasks: _validate_input.yml
|
|
|
|
- name: Normalize system configuration
|
|
ansible.builtin.include_tasks: _normalize_system.yml
|
|
|
|
- name: Normalize disk configuration
|
|
ansible.builtin.include_tasks: _normalize_disks.yml
|
|
|
|
- name: Check if pre-computed system_cfg needs enrichment
|
|
when: system_cfg is defined
|
|
ansible.builtin.set_fact:
|
|
_bootstrap_needs_enrichment: "{{ hostname is not defined }}"
|
|
|
|
- name: Merge pre-computed system_cfg with bootstrap system_defaults
|
|
when:
|
|
- system_cfg is defined
|
|
- _bootstrap_needs_enrichment | default(false) | bool
|
|
ansible.builtin.set_fact:
|
|
system_cfg: "{{ system_defaults | combine(system | default({}), recursive=True) | combine(system_cfg, recursive=True) }}"
|
|
|
|
- name: Derive convenience facts from pre-computed system_cfg
|
|
when:
|
|
- system_cfg is defined
|
|
- _bootstrap_needs_enrichment | default(false) | bool
|
|
ansible.builtin.set_fact:
|
|
hostname: "{{ system_cfg.name | default(inventory_hostname) }}"
|
|
os: "{{ system_cfg.os | default('') }}"
|
|
os_version: "{{ system_cfg.version | default('') | string }}"
|
|
|
|
- name: Normalize disk configuration (pre-computed system_cfg)
|
|
when:
|
|
- system_cfg is defined
|
|
- install_drive is not defined
|
|
ansible.builtin.include_tasks: _normalize_disks.yml
|