Add upgrade playbook and wrapper script for apt dist-upgrade on all nodes
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
This commit is contained in:
1 parent
6173bf3ac2
commit
5d2569106e
2 files changed
+42
No files matched your search
Executable
+13
@@ -0,0 +1,13 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
# Wrapper for upgrade.yml.
|
||||||
|
# Usage: ./upgrade.sh [--reboot] [ansible-playbook args, e.g. --limit dm-edworth --ask-become-pass]
|
||||||
|
set -euo pipefail
|
||||||
|
cd "$(dirname "$0")"
|
||||||
|
|
||||||
|
EXTRA=()
|
||||||
|
if [[ "${1:-}" == "--reboot" ]]; then
|
||||||
|
EXTRA=(-e reboot=true)
|
||||||
|
shift
|
||||||
|
fi
|
||||||
|
|
||||||
|
exec ansible-playbook upgrade.yml "${EXTRA[@]}" "$@"
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
---
|
||||||
|
# apt update + dist-upgrade on meshcore nodes, one host at a time.
|
||||||
|
# ansible-playbook upgrade.yml [--limit dm-edworth]
|
||||||
|
# ansible-playbook upgrade.yml -e reboot=true # reboot only nodes that need it
|
||||||
|
- name: Upgrade packages
|
||||||
|
hosts: meshcore
|
||||||
|
become: true
|
||||||
|
serial: 1
|
||||||
|
vars:
|
||||||
|
reboot: false
|
||||||
|
tasks:
|
||||||
|
- name: apt update and dist-upgrade
|
||||||
|
ansible.builtin.apt:
|
||||||
|
update_cache: true
|
||||||
|
upgrade: dist
|
||||||
|
autoremove: true
|
||||||
|
|
||||||
|
- name: Check whether a reboot is required
|
||||||
|
ansible.builtin.stat:
|
||||||
|
path: /var/run/reboot-required
|
||||||
|
register: reboot_required
|
||||||
|
|
||||||
|
- name: Report reboot status
|
||||||
|
ansible.builtin.debug:
|
||||||
|
msg: "{{ inventory_hostname }}: reboot {{ 'required' if reboot_required.stat.exists else 'not required' }}"
|
||||||
|
|
||||||
|
- name: Reboot if required
|
||||||
|
ansible.builtin.reboot:
|
||||||
|
when: reboot | bool and reboot_required.stat.exists
|
||||||
Reference in new issue
Block a user