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

Playbook for updating hosts.

parent f9280622
Branches
Tags
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