Skip to content
Snippets Groups Projects
Commit e9da05ac authored by nimrod's avatar nimrod
Browse files

Playbook for updating hosts.

parent f9280622
No related branches found
No related tags found
No related merge requests found
Pipeline #177 passed
...@@ -11,10 +11,10 @@ repos: ...@@ -11,10 +11,10 @@ repos:
- id: detect-private-key - id: detect-private-key
- id: trailing-whitespace - id: trailing-whitespace
- repo: https://git.shore.co.il/ansible/ansible-pre-commit.git - repo: https://git.shore.co.il/ansible/ansible-pre-commit.git
rev: v0.8.0 rev: v0.10.0
hooks: hooks:
- id: ansible-syntax-check - id: ansible-syntax-check
files: bootstrap\.yaml|router\.yaml files: bootstrap\.yaml|update\.yaml|renew-certs\.yaml
types: [yaml] types: [yaml]
- repo: https://github.com/ansible/ansible-lint - repo: https://github.com/ansible/ansible-lint
rev: v4.3.7 rev: v4.3.7
......
---
- name: Group hosts by package manager
hosts:
- all
tasks:
- name: Group hosts by package manager
group_by:
key: pkg_mgr_{{ ansible_pkg_mgr }}
tags:
- always
- name: Update Debian hosts
hosts:
- pkg_mgr_apt
tasks:
- name: Update packages
apt:
autoclean: true
purge: true
update_cache: true
upgrade: dist
register: apt_upgrade
- name: Remove no-longer needed dependecies
apt:
autoremove: true
purge: true
- name: Update firmware
command: fwupdmgr --assume-yes update
register: fwupdmgr
changed_when: fwupdmgr.stdout_lines|length > 0
- name: Set reboot needed fact
set_fact:
reboot_needed: "{{ apt_upgrade is changed or fwupdmgr is changed }}"
tags:
- debian
- update
- name: Update OpenWRT hosts
hosts:
- pkg_mgr_opkg
tasks:
- name: Update package list
command: opkg update
changed_when: false
- name: Update packages
# We run through sort so that we don't run 2 instances fo opkg at once.
shell: |-
opkg list-upgradable | awk '{print $1}' | sort | xargs -rn1 opkg upgrade
register: opkg_upgrade
changed_when: opkg_upgrade.stdout_lines|length > 0
- name: Set reboot needed fact
set_fact:
reboot_needed: "{{ opkg_upgrade is changed }}"
tags:
- openwrt
- update
- name: Update OpenBSD hosts
hosts:
- pkg_mgr_openbsd_pkg
tasks:
- name: Apply system patches
command: syspatch
register: syspatch
changed_when: syspatch.stdout_lines|length > 0
- name: Update packages
openbsd_pkg:
name: "*"
state: latest
register: pkg_upgrade
- name: Update firmware
command: fw_update -a
register: fw_update
changed_when: fw_update.stdout_lines|length > 0
- name: Set reboot needed fact
set_fact:
reboot_needed: >-
{{ syspatch is changed or
pkg_upgrade is changed or
fw_update is changed }}
tags:
- openbsd
- update
- name: Reboot NS1
hosts:
- ns1
tasks:
- name: Reboot
when: reboot_needed
reboot:
tags:
- reboot
- name: Reboot EA6350
hosts:
- ea6350
tasks:
- name: Reboot
when: reboot_needed
command: reboot
- name: Wait to re-establish the connection
wait_for_connection:
tags:
- reboot
- name: Reboot the rest
hosts:
- all:!ns1:!ea6350
tasks:
- name: Wait to re-establish the connection
wait_for_connection:
- name: Reboot
when: reboot_needed
reboot:
tags:
- reboot
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment