diff --git a/nodes/ansible/os-update.playbook.yaml b/nodes/ansible/os-update.playbook.yaml new file mode 100644 index 0000000..0f50b4c --- /dev/null +++ b/nodes/ansible/os-update.playbook.yaml @@ -0,0 +1,44 @@ +- name: OS update playbook + hosts: + - casa + - casa-minion-01 + - casa-mini-minion-01 + become: true + tasks: + - debug: + msg: + - "ansible_distribution {{ hostvars[inventory_hostname].ansible_distribution }}" + - "major version {{ hostvars[inventory_hostname].ansible_distribution_major_version }}" + - "version {{ hostvars[inventory_hostname].ansible_distribution_version }}" + - "version {{ hostvars[inventory_hostname].ansible_kernel }}" + + - name: Update all Packages to their latest version + ansible.builtin.apt: + update_cache: true + force_apt_get: true + + - name: Upgrade all packages on servers + ansible.builtin.apt: + upgrade: dist + force_apt_get: true + + - name: Check if a reboot is needed + register: reboot_required_file + stat: path=/var/run/reboot-required + + - name: Reboot server + reboot: + msg: "Reboot initiated by Ansible due to kernel updates" + connect_timeout: 5 + reboot_timeout: 300 + pre_reboot_delay: 0 + post_reboot_delay: 30 + test_command: uptime + when: reboot_required_file.stat.exists + + - debug: + msg: + - "ansible_distribution {{ hostvars[inventory_hostname].ansible_distribution }}" + - "major version {{ hostvars[inventory_hostname].ansible_distribution_major_version }}" + - "version {{ hostvars[inventory_hostname].ansible_distribution_version }}" + - "version {{ hostvars[inventory_hostname].ansible_kernel }}" \ No newline at end of file