refactor(bootstrap): restructure package lists to self-contained per-OS dicts with base/extra/conditional
This commit is contained in:
@@ -1,12 +1,22 @@
|
||||
---
|
||||
- name: Bootstrap RHEL System
|
||||
vars:
|
||||
_rhel_config: "{{ lookup('vars', bootstrap_var_key) }}"
|
||||
_rhel_repos: "{{ _rhel_config.repos | map('regex_replace', '^', '--repo=') | join(' ') }}"
|
||||
_rhel_groups: "{{ _rhel_config.base | join(' ') }}"
|
||||
_rhel_extra: >-
|
||||
{{
|
||||
((_rhel_config.extra | default([])) + (_rhel_config.conditional | default([])))
|
||||
| reject('equalto', '')
|
||||
| join(' ')
|
||||
}}
|
||||
block:
|
||||
- name: Install base packages in chroot environment
|
||||
ansible.builtin.command: >-
|
||||
dnf --releasever={{ os_version_major }} --repo=rhel{{ os_version_major }}-baseos
|
||||
dnf --releasever={{ os_version_major }} {{ _rhel_repos }}
|
||||
--installroot=/mnt
|
||||
--setopt=install_weak_deps=False --setopt=optional_metadata_types=filelists
|
||||
groupinstall -y core base standard
|
||||
groupinstall -y {{ _rhel_groups }}
|
||||
register: bootstrap_result
|
||||
changed_when: bootstrap_result.rc == 0
|
||||
failed_when:
|
||||
@@ -40,15 +50,8 @@
|
||||
remote_src: true
|
||||
|
||||
- name: Install additional packages in chroot
|
||||
vars:
|
||||
bootstrap_rhel_extra: >-
|
||||
{{
|
||||
lookup('vars', bootstrap_var_key)
|
||||
| reject('equalto', '')
|
||||
| join(' ')
|
||||
}}
|
||||
ansible.builtin.command: >-
|
||||
{{ chroot_command }} dnf --releasever={{ os_version_major }}
|
||||
--setopt=install_weak_deps=False install -y {{ bootstrap_rhel_extra }}
|
||||
--setopt=install_weak_deps=False install -y {{ _rhel_extra }}
|
||||
register: bootstrap_result
|
||||
changed_when: bootstrap_result.rc == 0
|
||||
|
||||
Reference in New Issue
Block a user