reboot
Role Description
Reboot your system if needed.
Example Playbook
This example is taken from molecule/default/converge.yml
and is tested on each push, pull request and release.
---
- name: Converge
hosts: all
become: true
gather_facts: false
roles:
- role: tehtbl.reboot
The machine you are running this on, may need to be prepared, I use this playbook to ensure everything is in place to let the role work.
---
- name: Prepare
hosts: all
become: true
gather_facts: false
roles:
- role: tehtbl.bootstrap
Role Variables
These variables are set in defaults/main.yml
:
---
# ------------------------------------------------------------------------
# defaults file for reboot
# ------------------------------------------------------------------------
# Some operating systems can determine if a reboot is required. This
# parameter can be set to always reboot.
reboot_always: false
# How long to wait before sending a reboot.
reboot_delay: 4
# Number of seconds to wait before checking if the machine is up.
reboot_up_delay: 8
# You can specify a message for rebooting, easier for auditing.
reboot_message: "reboot by Ansible role tehtbl.reboot"
Requirements
- Access to a repository containing packages, likely on the internet.
- A recent version of Ansible. (Tests run on the current, previous and next release of Ansible.)
Context
This role is a part of many compatible roles. Have a look at my other roles for further information.
Compatibility
This role has been tested on these Docker images:
container | tag | allow_failures |
---|---|---|
debian | stable | no |
debian | testing | no |
debian | unstable | yes |
ubuntu | xenial | yes |
ubuntu | bionic | no |
ubuntu | focal | no |
ubuntu | devel | yes |
This role has been tested on these Ansible versions:
- ansible>=2.8, <2.9
- ansible>=2.9
- git+https://github.com/ansible/ansible.git@devel
Testing Using Tox
Unit tests are done on every commit, pull request, release and periodically.
If you find issues, please register them in GitHub
Testing is done using Tox and Molecule:
Tox tests multiple Ansible versions. Molecule tests multiple distributions.
To test using the defaults (any installed Ansible version, namespace: tehtbl
, image: ubuntu
, tag: latest
):
molecule test
# Or select a specific image:
IMAGE="ubuntu" molecule test
# Or select a specific image and a specific tag:
IMAGE="debian" TAG="stable" tox
Or you can test multiple versions of Ansible, and select the correct images:
Tox allows multiple versions of Ansible to be tested. To run the default (namespace: tehtbl
, image: ubuntu
, tag: latest
) tests:
tox
# To run Ubuntu (namespace: `tehtbl`, tag: `latest`)
IMAGE="ubuntu" tox
# Or customize more:
IMAGE="debian" TAG="stable" tox -e py37-ansible-current
Testing Using Vagrant
Install vagrant
plugins via:
vagrant plugin install vagrant-reload
Start Tests via VirtualBox Provider:
vagrant up
License
MIT License
Author Information
Sources
This work is based on the great work of many people, e.g. Robert de Bock, Jeff Geerling and Thomas Waldmann. Thank you!