Skip to content
This repository was archived by the owner on Jun 18, 2021. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 24 additions & 0 deletions ansible/roles/system-base-update/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
System base update
==================

Update the base operating system components. Supports the native
update mechanisms for:

- FreeBSD (freebsd-update)
- Linux/RedHat (yum)
- Linux/Debian (apt)
- MacOS X (softwareupdate)
- Windows

Note that on systems with a package manager, this may update packages
in addition to the base system.

Requirements
------------

None.

Author Information
------------------

ome-devel@lists.openmicroscopy.org.uk
2 changes: 2 additions & 0 deletions ansible/roles/system-base-update/defaults/main.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
---
# Defaults
1 change: 1 addition & 0 deletions ansible/roles/system-base-update/meta/main.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
---
4 changes: 4 additions & 0 deletions ansible/roles/system-base-update/tasks/darwin.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
---
- name: Update MacOS X base system
raw: softwareupdate -i -a
become: yes
8 changes: 8 additions & 0 deletions ansible/roles/system-base-update/tasks/debian.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
---
- name: Update Debian APT repositories
apt:
update_cache: yes

- name: Upgrade Debian packages
apt:
upgrade: dist
12 changes: 12 additions & 0 deletions ansible/roles/system-base-update/tasks/freebsd.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
---
- name: Fetch new FreeBSD updates
command: freebsd-update fetch --not-running-from-cron
register: result_update
changed_when: "'No updates needed' not in result_update.stdout"
become: yes

- name: Install FreeBSD updates
command: freebsd-update install
when: ansible_distribution == 'FreeBSD' and result_update.changed
register: result_update_install
become: yes
20 changes: 20 additions & 0 deletions ansible/roles/system-base-update/tasks/main.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
- include: darwin.yml
when: ansible_os_family == 'Darwin'
tags: package

- include: debian.yml
when: ansible_os_family == 'Debian'
tags: package

- include: freebsd.yml
when: ansible_os_family == 'FreeBSD'
tags: package

- include: redhat.yml
when: ansible_os_family == 'RedHat'
tags: package

- include: windows.yml
when: ansible_os_family == 'Windows'
tags: package
5 changes: 5 additions & 0 deletions ansible/roles/system-base-update/tasks/redhat.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
- name: Upgrade all RPM packages
yum:
name: '*'
state: latest
8 changes: 8 additions & 0 deletions ansible/roles/system-base-update/tasks/windows.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
---
# Install all security, critical, and rollup updates
- name: Install Windows updates
win_updates:
category_names:
- SecurityUpdates
- CriticalUpdates
- UpdateRollups
20 changes: 20 additions & 0 deletions ansible/roles/system-package-update/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
System package update
=====================

Update packages with the system package manager. Supports the
following systems:

- FreeBSD (pkgng)
- Linux/RedHat (yum)
- Linux/Debian (apt)
- MacOS X (homebrew)

Requirements
------------

None.

Author Information
------------------

ome-devel@lists.openmicroscopy.org.uk
2 changes: 2 additions & 0 deletions ansible/roles/system-package-update/defaults/main.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
---
# Defaults
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There's no need to commit empty files

1 change: 1 addition & 0 deletions ansible/roles/system-package-update/meta/main.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
---
8 changes: 8 additions & 0 deletions ansible/roles/system-package-update/tasks/apt.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
---
- name: Update Debian APT repositories
apt:
update_cache: yes

- name: Upgrade Debian packages
apt:
upgrade: safe
14 changes: 14 additions & 0 deletions ansible/roles/system-package-update/tasks/homebrew.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
---
- name: Update and upgrade homebrew packages
homebrew:
update_homebrew: yes
upgrade_all: yes

- name: Clean up homebrew
command: brew cleanup

- name: Prune stale homebrew links
command: brew prune

- name: Check homebrew for problems
command: brew doctor
20 changes: 20 additions & 0 deletions ansible/roles/system-package-update/tasks/main.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
- include: homebrew.yml
when: ansible_pkg_mgr == 'homebrew'
tags: package
become: true
become_user: "{{homebrew_user}}"
environment:
PATH: "/usr/local/bin:/usr/local/sbin:{{ ansible_env.PATH }}"

- include: apt.yml
when: ansible_pkg_mgr == 'apt'
tags: package

- include: pkgng.yml
when: ansible_pkg_mgr == 'pkgng'
tags: package

- include: yum.yml
when: ansible_pkg_mgr == 'yum'
tags: package
12 changes: 12 additions & 0 deletions ansible/roles/system-package-update/tasks/pkgng.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
---
- name: Update FreeBSD package list
command: pkg update -q
become: yes

- name: Upgrade FreeBSD packages
command: pkg upgrade -y
become: yes

- name: Clean FreeBSD package cache
command: pkg clean -qy
become: yes
5 changes: 5 additions & 0 deletions ansible/roles/system-package-update/tasks/yum.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
- name: Upgrade all RPM packages
yum:
name: '*'
state: latest
8 changes: 8 additions & 0 deletions ansible/system-update.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
---
# Apply operating system and package updates

- hosts: all
roles:
- role: system-base-update
- role: system-package-update