Add in place os upgrade for Debian and Ubuntu
This commit is contained in:
@@ -0,0 +1,48 @@
|
||||
---
|
||||
# tasks file for ensure_os_upgrade - Ubuntu
|
||||
- name: Ensure update-manager-core is installed
|
||||
when:
|
||||
- ansible_facts["system"] == 'Linux'
|
||||
- ansible_facts["distribution"] == 'Ubuntu'
|
||||
- ensure_os_upgrade is defined
|
||||
ansible.builtin.apt:
|
||||
name: update-manager-core
|
||||
state: present
|
||||
|
||||
- name: Configure Ubuntu Release Upgrade Prompt
|
||||
when:
|
||||
- ansible_facts["system"] == 'Linux'
|
||||
- ansible_facts["distribution"] == 'Ubuntu'
|
||||
- ensure_os_upgrade is defined
|
||||
- ensure_os_upgrade.target_version is defined
|
||||
ansible.builtin.lineinfile:
|
||||
path: /etc/update-manager/release-upgrades
|
||||
regexp: '^Prompt='
|
||||
line: "Prompt={{ 'lts' if ensure_os_upgrade.target_version.endswith('.04') else 'normal' }}"
|
||||
|
||||
- name: Execute Ubuntu Release Upgrade
|
||||
when:
|
||||
- ansible_facts["system"] == 'Linux'
|
||||
- ansible_facts["distribution"] == 'Ubuntu'
|
||||
- ensure_os_upgrade is defined
|
||||
- ensure_os_upgrade.target_version is defined
|
||||
- ansible_facts["distribution_version"] != ensure_os_upgrade.target_version
|
||||
ansible.builtin.command: do-release-upgrade -f DistUpgradeViewNonInteractive
|
||||
environment:
|
||||
DEBIAN_FRONTEND: noninteractive
|
||||
DPKG_OPTIONS: '-o Dpkg::Options::="--force-confnew" -o Dpkg::Options::="--force-confdef"'
|
||||
|
||||
- name: Reboot Ubuntu After Upgrade
|
||||
when:
|
||||
- ansible_facts["system"] == 'Linux'
|
||||
- ansible_facts["distribution"] == 'Ubuntu'
|
||||
- ensure_os_upgrade is defined
|
||||
- ensure_os_upgrade.target_version is defined
|
||||
- ansible_facts["distribution_version"] != ensure_os_upgrade.target_version
|
||||
ansible.builtin.reboot:
|
||||
msg: "Rebooting for OS Upgrade"
|
||||
connect_timeout: 5
|
||||
reboot_timeout: 1800
|
||||
pre_reboot_delay: 5
|
||||
post_reboot_delay: 15
|
||||
test_command: whoami
|
||||
Reference in New Issue
Block a user