tehtbl.update
<!-- Get the role ID with: ansible-galaxy info tehtbl.update | grep -i "id:" -->
<a href="https://galaxy.ansible.com/tehtbl/update"><img src="https://img.shields.io/ansible/role/44969"/></a>
<a href="https://galaxy.ansible.com/tehtbl/update"><img src="https://img.shields.io/ansible/quality/44969"/></a>
<a href="https://travis-ci.org/tehtbl/ansible-role-update"><img src="https://travis-ci.org/tehtbl/ansible-role-update.svg?branch=master" alt="Build status"/></a>
Role Description
================
This role updates your system.
Example Playbook
================
This example comes from `molecule/default/converge.yml` and is tested automatically with each update.
```yaml
---
- name: Converge
hosts: all
become: true
gather_facts: false
roles:
- role: tehtbl.update
Before running this, your machine may need some preparation. I use this playbook to make sure everything is ready.
---
- name: Prepare
hosts: all
become: true
gather_facts: false
roles:
- tehtbl.bootstrap
Role Variables
These settings are in defaults/main.yml
:
---
# ------------------------------------------------------------------------
# default settings for update
# ------------------------------------------------------------------------
# For APT (Debian/Ubuntu): remove unused dependency packages for all states except `build-dep'
update_autoremove: false
# For APT (Debian/Ubuntu): type of upgrade, options are dist, full, yes, or safe
update_upgrade_command: safe
# For APT (Debian/Ubuntu): update the apt cache if it's older than this time (in seconds).
update_cache_valid_time: 7200
# A reboot may be required after updating. Choose:
# "yes": Reboot if there are package changes.
# "no": Never reboot after package changes.
update_reboot: true
Requirements
- You need access to a repository with packages, likely online.
- A version of Ansible that is up-to-date. (We test on the current, previous, and next versions of Ansible.)
To meet all requirements, install the following role using ansible-galaxy install -r requirements.yml
:
- tehtbl.reboot
Context
This role works with many compatible roles. Check out my other roles for more information.
Compatibility
This role has been tested with 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 with these Ansible versions:
- ansible>=2.8, <2.9
- ansible>=2.9
- git+https://github.com/ansible/ansible.git@devel
Testing with Tox
We run Unit tests with every update, pull request, and regularly.
If you find issues, please report them on GitHub
Testing uses Tox and Molecule:
Tox tests multiple Ansible versions and Molecule tests various distributions.
To test with default settings (any installed Ansible version, namespace: tehtbl
, image: ubuntu
, tag: latest
):
molecule test
# Or specify an image:
IMAGE="ubuntu" molecule test
# Or specify an image and a tag:
IMAGE="debian" TAG="stable" tox
You can also test multiple Ansible versions and specific images:
Tox helps you test different Ansible versions. To run the default tests (namespace: tehtbl
, image: ubuntu
, tag: latest
):
tox
# To run tests for Ubuntu (namespace: `tehtbl`, tag: `latest`)
IMAGE="ubuntu" tox
# Or customize further:
IMAGE="debian" TAG="stable" tox -e py37-ansible-current
Testing with Vagrant
You can install vagrant
plugins using:
vagrant plugin install vagrant-reload
Start tests with VirtualBox Provider:
vagrant up
License
MIT License
Author Information
Sources
This project is based on the work of many contributors, such as Robert de Bock, Jeff Geerling, and Thomas Waldmann. Thank you! ```