diff --git a/ol/create_instance.yml b/ol/create_instance.yml index e81d6f5..a79358d 100644 --- a/ol/create_instance.yml +++ b/ol/create_instance.yml @@ -295,6 +295,10 @@ - name: Configure instance ansible.builtin.include_tasks: "host_setup.yml" +- name: Update all rpm packages + ansible.builtin.import_playbook: update_all_rpms.yml + when: update_all + - name: Provision KVM server ansible.builtin.import_playbook: provision_kvm.yml when: use_kvm diff --git a/ol/default_vars.yml b/ol/default_vars.yml index 0ff8254..1a2cebf 100644 --- a/ol/default_vars.yml +++ b/ol/default_vars.yml @@ -36,4 +36,5 @@ vm_net: default vm_root_pass: cleanup_tmp: no +update_all: false use_podman: false \ No newline at end of file diff --git a/ol/update_all_rpms.yml b/ol/update_all_rpms.yml new file mode 100644 index 0000000..d83e466 --- /dev/null +++ b/ol/update_all_rpms.yml @@ -0,0 +1,37 @@ +--- +# Copyright (c) 2024 Oracle and/or its affiliates. +# This software is made available to you under the terms of the Universal Permissive License (UPL), Version 1.0. +# The Universal Permissive License (UPL), Version 1.0 (see COPYING or https://oss.oracle.com/licenses/upl) +# See LICENSE.TXT for details. + +- name: Install latest Oracle Linux packages + hosts: server + vars_files: + - default_vars.yml + become: true + + tasks: + + - name: Update all Oracle Linux packages + ansible.builtin.dnf: + name: "*" + state: latest + update_only: true + when: ansible_distribution == 'OracleLinux' + + - name: Check if a reboot is required + ansible.builtin.command: /usr/bin/needs-restarting -r + register: reboot_required + ignore_errors: true + changed_when: false + failed_when: reboot_required.rc == 2 + when: ansible_distribution == 'OracleLinux' + + - name: Print reboot is required + ansible.builtin.debug: + var: reboot_required + when: debug_enabled + + - name: Reboot (if needed) to apply latest kernel and updates + ansible.builtin.reboot: + when: ansible_distribution == 'OracleLinux' and reboot_required.rc == 1