diff --git a/roles/global_defaults/tasks/_normalize_system.yml b/roles/global_defaults/tasks/_normalize_system.yml index b8e12e6..b96f076 100644 --- a/roles/global_defaults/tasks/_normalize_system.yml +++ b/roles/global_defaults/tasks/_normalize_system.yml @@ -77,7 +77,12 @@ if (system_raw.mirror | default('') | string | trim | length) > 0 else _mirror_defaults[system_raw.os | default('') | string | lower] | default('') }} - path: "{{ system_raw.path | default('') | string }}" + path: >- + {{ + (system_raw.path | default('') | string) + if (system_raw.path | default('') | string | length > 0) + else (hypervisor_cfg.folder | default('') | string) + }} packages: >- {{ ( diff --git a/roles/global_defaults/tasks/main.yml b/roles/global_defaults/tasks/main.yml index 36f4d99..58487fe 100644 --- a/roles/global_defaults/tasks/main.yml +++ b/roles/global_defaults/tasks/main.yml @@ -38,6 +38,13 @@ - name: Normalize system inputs ansible.builtin.include_tasks: system.yml +- name: Inherit folder from hypervisor when system path is empty + when: + - system_cfg.path | default('') | string | length == 0 + - hypervisor_cfg.folder | default('') | string | length > 0 + ansible.builtin.set_fact: + system_cfg: "{{ system_cfg | combine({'path': hypervisor_cfg.folder | string}, recursive=True) }}" + - name: Validate variables ansible.builtin.include_tasks: validation.yml