Add system upgrade role

initial commit
This commit is contained in:
Marty Oehme 2021-07-24 11:51:09 +02:00
commit 1fe4c617db
Signed by: Marty
GPG key ID: B7538B8F50A1C800
7 changed files with 137 additions and 0 deletions

53
.gitignore vendored Normal file
View file

@ -0,0 +1,53 @@
# Created by https://www.toptal.com/developers/gitignore/api/vim,linux,vagrant,ansible
# Edit at https://www.toptal.com/developers/gitignore?templates=vim,linux,vagrant,ansible
### Ansible ###
*.retry
### Linux ###
*~
# temporary files which can be created if a process still has a handle open of a deleted file
.fuse_hidden*
# KDE directory preferences
.directory
# Linux trash folder which might appear on any partition or disk
.Trash-*
# .nfs files are created when an open file is removed but is still being accessed
.nfs*
### Vagrant ###
# General
.vagrant/
# Log files (if you are creating logs in debug mode, uncomment this)
# *.log
### Vagrant Patch ###
*.box
### Vim ###
# Swap
[._]*.s[a-v][a-z]
!*.svg # comment out if you don't need vector files
[._]*.sw[a-p]
[._]s[a-rt-v][a-z]
[._]ss[a-gi-z]
[._]sw[a-p]
# Session
Session.vim
Sessionx.vim
# Temporary
.netrwhist
# Auto-generated tag files
tags
# Persistent undo
[._]*.un~
# End of https://www.toptal.com/developers/gitignore/api/vim,linux,vagrant,ansible

11
Vagrantfile vendored Normal file
View file

@ -0,0 +1,11 @@
Vagrant.configure('2') do |config|
config.vm.define 'tau' do |debian|
debian.vm.box = 'bento/ubuntu-20.04'
debian.vm.network :private_network, ip: '192.168.27.2'
debian.vm.hostname = 'testing'
debian.vm.provider 'virtualbox' do |vb|
vb.memory = '2048'
vb.cpus = 2
end
end
end

4
ansible.cfg Normal file
View file

@ -0,0 +1,4 @@
[defaults]
inventory = ./inventory
group = testing

10
playbook.yml Normal file
View file

@ -0,0 +1,10 @@
---
- hosts: all
tasks:
- name: Test connection
ansible.builtin.ping:
- hosts: all
roles:
- system-upgrade
- docker

View file

@ -0,0 +1,10 @@
- name: reboot host
reboot:
msg: "Reboot initiated by Ansible"
connect_timeout: 5
reboot_timeout: 600
pre_reboot_delay: 0
post_reboot_delay: 30
test_command: whoami
become: true
when: reboot_required_file.stat.exists

View file

@ -0,0 +1,38 @@
- name: Ensure aptitude installed
apt:
name: "aptitude"
state: present
tags:
- apt
- download
- packages
become: true
- name: Ensure OS upgraded
apt:
upgrade: dist
tags:
- apt
- update
- os
become: true
- name: Check if reboot is necessary
register: reboot_required_file
stat:
path: /var/run/reboot-required
get_md5: no
tags:
- os
- reboot
notify: reboot host
- name: Ensure all packages updated
apt:
name: "*"
state: latest # noqa 403
tags:
- apt
- update
- packages
become: true

View file

@ -0,0 +1,11 @@
---
# Bring the bare-metal system to the newest updated status
- name: "Select tasks for {{ ansible_distribution }} {{ ansible_distribution_major_version }}"
include_tasks: "{{ distribution }}"
with_first_found:
- "{{ ansible_distribution }}-{{ ansible_distribution_major_version }}.yml"
- "{{ ansible_distribution }}.yml"
- "{{ ansible_os_family }}.yml"
loop_control:
loop_var: distribution