Skip to content

tehtbl/ansible-role-bootstrap

Repository files navigation

Build status

Role Description

Prepare your Debian and Ubuntu Systems for Ansible.

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.bootstrap

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

Role Variables

These variables are set in defaults/main.yml:

---
# ------------------------------------------------------------------------
# defaults file for bootstrap
# ------------------------------------------------------------------------

# The user to use to connect to machines.
bootstrap_user: root

# Installed software to support modules flagged as "preview" (i.e. mysql_db).
# "yes", "no" or unset are valid.
bootstrap_preview: true

# Do you want to wait for the host to be available?
bootstrap_wait_for_host: false

# The number of seconds you want to wait during connection test before failing.
bootstrap_timeout: 3

# The number of retries during installation
bootstrap_retries: 3

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:

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!

About

Prepare your Debian and Ubuntu System for Ansible.

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published