Split bootstrap by OS
This commit is contained in:
71
roles/bootstrap/tasks/rhel.yml
Normal file
71
roles/bootstrap/tasks/rhel.yml
Normal file
@@ -0,0 +1,71 @@
|
||||
---
|
||||
- name: Bootstrap RHEL System
|
||||
block:
|
||||
- name: Install base packages in chroot environment
|
||||
vars:
|
||||
bootstrap_rhel_release: "{{ bootstrap_os_key | replace('rhel', '') }}"
|
||||
ansible.builtin.command: >-
|
||||
dnf --releasever={{ bootstrap_rhel_release }} --repo={{ bootstrap_os_key }}-baseos
|
||||
--installroot=/mnt
|
||||
--setopt=install_weak_deps=False --setopt=optional_metadata_types=filelists
|
||||
groupinstall -y core base standard
|
||||
register: bootstrap_result
|
||||
changed_when: bootstrap_result.rc == 0
|
||||
|
||||
- name: Ensure chroot has resolv.conf
|
||||
ansible.builtin.file:
|
||||
src: /run/NetworkManager/resolv.conf
|
||||
dest: /mnt/etc/resolv.conf
|
||||
state: link
|
||||
force: true
|
||||
|
||||
- name: Ensure chroot RHEL DVD directory exists
|
||||
ansible.builtin.file:
|
||||
path: /mnt/usr/local/install/redhat/dvd
|
||||
state: directory
|
||||
mode: "0755"
|
||||
|
||||
- name: Bind mount RHEL DVD into chroot
|
||||
ansible.posix.mount:
|
||||
src: /usr/local/install/redhat/dvd
|
||||
path: /mnt/usr/local/install/redhat/dvd
|
||||
fstype: none
|
||||
opts: bind
|
||||
state: mounted
|
||||
|
||||
- name: Rebuild RPM database inside chroot
|
||||
ansible.builtin.command:
|
||||
argv:
|
||||
- arch-chroot
|
||||
- /mnt
|
||||
- rpm
|
||||
- --rebuilddb
|
||||
register: bootstrap_rpm_rebuild_result
|
||||
changed_when: bootstrap_rpm_rebuild_result.rc == 0
|
||||
|
||||
- name: Copy RHEL repo file into chroot environment
|
||||
ansible.builtin.copy:
|
||||
src: /etc/yum.repos.d/{{ bootstrap_os_key }}.repo
|
||||
dest: /mnt/etc/yum.repos.d/redhat.repo
|
||||
mode: "0644"
|
||||
remote_src: true
|
||||
|
||||
- name: Install additional packages in chroot
|
||||
vars:
|
||||
bootstrap_rhel_release: "{{ bootstrap_os_key | replace('rhel', '') }}"
|
||||
bootstrap_rhel_extra: >-
|
||||
{{
|
||||
(
|
||||
(
|
||||
lookup('vars', bootstrap_var_key)
|
||||
| difference(bootstrap_guest_agent_remove_packages)
|
||||
)
|
||||
+ bootstrap_guest_agent_packages
|
||||
)
|
||||
| join(' ')
|
||||
}}
|
||||
ansible.builtin.command: >-
|
||||
arch-chroot /mnt dnf --releasever={{ bootstrap_rhel_release }}
|
||||
--setopt=install_weak_deps=False install -y {{ bootstrap_rhel_extra }}
|
||||
register: bootstrap_result
|
||||
changed_when: bootstrap_result.rc == 0
|
||||
Reference in New Issue
Block a user