aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--docs/sample-environment.yml9
-rw-r--r--roles/guest-configure/tasks/automatic-update.yml13
-rw-r--r--roles/guest-configure/tasks/main.yml14
-rw-r--r--roles/guest-configure/tasks/packages.yml12
-rw-r--r--roles/guest-configure/tasks/user.yml6
-rw-r--r--roles/guest-configure/vars/main.yml2
6 files changed, 48 insertions, 8 deletions
diff --git a/docs/sample-environment.yml b/docs/sample-environment.yml
index bc6f928..5d1d9e9 100644
--- a/docs/sample-environment.yml
+++ b/docs/sample-environment.yml
@@ -1,9 +1,15 @@
+# Vars can be set per-host, or globally under the vars: section
all:
hosts:
test-el8:
os: "rhel8-unknown" #A full list of OSes can be found with this #virt-install --osinfo list
kickstart: "el8.ks"
iso_path: "/path/to/ios/AlmaLinux-8.7-x86_64-dvd.iso"
+ pre_packages: #Install these packages before regular ones
+ - epel-release
+ packages:
+ - fish
+ shell: "/usr/bin/fish" #Set shell for user
test-el9:
os: "rhel9-unknown"
kickstart: "el9.ks"
@@ -13,6 +19,9 @@ all:
kickstart: "f38.ks"
iso_path: "/path/to/isos/Fedora-Server-dvd-x86_64-38-1.6.iso"
libvirt_vm_location_arguments: ",kernel=images/pxeboot/vmlinuz,initrd=images/pxeboot/initrd.img" #https://bugzilla.redhat.com/show_bug.cgi?id=2144105
+ packages:
+ - fish
+ shell: "/usr/bin/fish"
vars:
memory_mb: 1024
cpus: 1
diff --git a/roles/guest-configure/tasks/automatic-update.yml b/roles/guest-configure/tasks/automatic-update.yml
new file mode 100644
index 0000000..71c102e
--- /dev/null
+++ b/roles/guest-configure/tasks/automatic-update.yml
@@ -0,0 +1,13 @@
+- name: RedHat block
+ block:
+ - name: Install dnf-automatic (RedHat)
+ ansible.builtin.package:
+ name: dnf-automatic
+ state: present
+
+ - name: Enable dnf-automatic systemd service (RedHat)
+ ansible.builtin.service:
+ name: dnf-automatic-install.timer
+ enabled: yes
+ state: started
+ when: ansible_os_family == "RedHat"
diff --git a/roles/guest-configure/tasks/main.yml b/roles/guest-configure/tasks/main.yml
index 47a5f27..4be58be 100644
--- a/roles/guest-configure/tasks/main.yml
+++ b/roles/guest-configure/tasks/main.yml
@@ -4,17 +4,21 @@
- name: Gather facts
ansible.builtin.setup:
-- name: Import user creation task
- ansible.builtin.import_tasks: user.yml
- when: guest_configure_user|length > 0
-
- name: Import update task
ansible.builtin.import_tasks: update.yml
- name: Import packages task
ansible.builtin.import_tasks: packages.yml
- when: guest_configure_packages|length > 0
+ when: (guest_configure_packages|length > 0) or (guest_configure_packages_preq|length > 0)
+
+- name: Import user creation task
+ ansible.builtin.import_tasks: user.yml
+ when: guest_configure_user|length > 0
- name: Import services task
ansible.builtin.import_tasks: services.yml
when: guest_configure_services|length > 0
+
+- name: Import automatic-update task
+ ansible.builtin.import_tasks: automatic-update.yml
+ when: guest_configure_services|length > 0
diff --git a/roles/guest-configure/tasks/packages.yml b/roles/guest-configure/tasks/packages.yml
index cffd690..509db4a 100644
--- a/roles/guest-configure/tasks/packages.yml
+++ b/roles/guest-configure/tasks/packages.yml
@@ -1,5 +1,11 @@
-- name: Install packages
+- name: Install prerequisite packages (if defined)
ansible.builtin.package:
- name: "{{ item }}"
+ name: "{{ guest_configure_packages_preq }}"
state: present
- loop: "{{ guest_configure_packages }}"
+ when: guest_configure_packages_preq | length > 0
+
+- name: Install packages (if defined)
+ ansible.builtin.package:
+ name: "{{ guest_configure_packages }}"
+ state: present
+ when: guest_configure_packages | length > 0
diff --git a/roles/guest-configure/tasks/user.yml b/roles/guest-configure/tasks/user.yml
index 7039492..5be5b3f 100644
--- a/roles/guest-configure/tasks/user.yml
+++ b/roles/guest-configure/tasks/user.yml
@@ -2,6 +2,12 @@
ansible.builtin.user:
name: "{{ guest_configure_user }}"
+- name: Set user shell (if defined)
+ ansible.builtin.user:
+ name: "{{ guest_configure_user }}"
+ shell: "{{ guest_configure_user_shell }}"
+ when: guest_configure_user_shell|length > 0
+
- name: Add user SSH key (if defined)
ansible.posix.authorized_key:
user: "{{ guest_configure_user }}"
diff --git a/roles/guest-configure/vars/main.yml b/roles/guest-configure/vars/main.yml
index 70d90a4..42ed50a 100644
--- a/roles/guest-configure/vars/main.yml
+++ b/roles/guest-configure/vars/main.yml
@@ -2,6 +2,8 @@ ansible_ssh_common_args: "-o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev
ansible_user: root
guest_configure_user: "{{ user if user is defined }}"
+guest_configure_user_shell: "{{ shell if shell is defined }}"
guest_configure_ssh_key: "{{ ssh_key if ssh_key is defined }}"
+guest_configure_packages_preq: "{{ pre_packages if pre_packages is defined }}"
guest_configure_packages: "{{ packages if packages is defined }}"
guest_configure_services: "{{ services if services is defined }}"