diff options
| author | spmfox <spmfox@foxwd.com> | 2023-06-17 00:32:55 -0400 |
|---|---|---|
| committer | spmfox <spmfox@foxwd.com> | 2023-06-17 00:32:55 -0400 |
| commit | f035f1f259dd617e8d4459008d7e1165ea04c025 (patch) | |
| tree | e9b4668fab41b1ab48cebde003f1598109830912 | |
| parent | 43b40c78e4668fa21be2d61a18ab7dbb745b8427 (diff) | |
adding automatic updates, user shell, and prerequisite packages
| -rw-r--r-- | docs/sample-environment.yml | 9 | ||||
| -rw-r--r-- | roles/guest-configure/tasks/automatic-update.yml | 13 | ||||
| -rw-r--r-- | roles/guest-configure/tasks/main.yml | 14 | ||||
| -rw-r--r-- | roles/guest-configure/tasks/packages.yml | 12 | ||||
| -rw-r--r-- | roles/guest-configure/tasks/user.yml | 6 | ||||
| -rw-r--r-- | roles/guest-configure/vars/main.yml | 2 |
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 }}" |
