tehtbl.bootstrap
Description du rôle
Préparez vos systèmes Debian et Ubuntu pour Ansible.
Exemple de Playbook
Cet exemple est tiré de molecule/default/converge.yml
et est testé à chaque push, demande de tirage et publication.
---
- name: Converger
hosts: all
become: true
gather_facts: false
roles:
- role: tehtbl.bootstrap
La machine sur laquelle vous exécutez cela peut avoir besoin d’être préparée. J’utilise ce playbook pour m’assurer que tout est en place pour que le rôle fonctionne.
---
- name: Préparer
hosts: all
become: true
gather_facts: false
Variables du rôle
Ces variables sont définies dans defaults/main.yml
:
---
# ------------------------------------------------------------------------
# fichier defaults pour bootstrap
# ------------------------------------------------------------------------
# L'utilisateur à utiliser pour se connecter aux machines.
bootstrap_user: root
# Logiciels installés pour prendre en charge les modules marqués comme "aperçu" (c'est-à-dire mysql_db).
# "oui", "non" ou non défini sont valides.
bootstrap_preview: true
# Voulez-vous attendre que l'hôte soit disponible ?
bootstrap_wait_for_host: false
# Le nombre de secondes que vous souhaitez attendre pendant le test de connexion avant d'échouer.
bootstrap_timeout: 3
# Le nombre de tentatives pendant l'installation
bootstrap_retries: 3
Exigences
- Accès à un dépôt contenant des paquets, probablement sur Internet.
- Une version récente d'Ansible. (Les tests sont effectués sur la version actuelle, précédente et suivante d'Ansible.)
Contexte
Ce rôle fait partie de nombreux rôles compatibles. Jetez un œil à mes autres rôles pour plus d'informations.
Compatibilité
Ce rôle a été testé sur ces images Docker :
conteneur | balise | autoriser les échecs |
---|---|---|
debian | stable | non |
debian | testing | non |
debian | unstable | oui |
ubuntu | xenial | oui |
ubuntu | bionic | non |
ubuntu | focal | non |
ubuntu | devel | oui |
Ce rôle a été testé sur ces versions d'Ansible :
- ansible>=2.8, <2.9
- ansible>=2.9
- git+https://github.com/ansible/ansible.git@devel
Tests utilisant Tox
Tests unitaires sont effectués à chaque commit, demande de tirage, publication et périodiquement.
Si vous trouvez des problèmes, merci de les signaler sur GitHub
Les tests sont réalisés avec Tox et Molecule:
Tox teste plusieurs versions d'Ansible. Molecule teste plusieurs distributions.
Pour tester en utilisant les valeurs par défaut (toute version d'Ansible installée, espace de noms : tehtbl
, image : ubuntu
, balise : latest
) :
molecule test
# Ou sélectionnez une image spécifique :
IMAGE="ubuntu" molecule test
# Ou sélectionnez une image spécifique et une balise spécifique :
IMAGE="debian" TAG="stable" tox
Ou vous pouvez tester plusieurs versions d'Ansible et sélectionner les images appropriées :
Tox permet de tester plusieurs versions d'Ansible. Pour exécuter les tests par défaut (espace de noms : tehtbl
, image : ubuntu
, balise : latest
) :
tox
# Pour exécuter Ubuntu (espace de noms : `tehtbl`, balise : `latest`)
IMAGE="ubuntu" tox
# Ou personnalisez davantage :
IMAGE="debian" TAG="stable" tox -e py37-ansible-current
Tests utilisant Vagrant
Installez les plugins vagrant
via :
vagrant plugin install vagrant-reload
Démarrez les tests via VirtualBox Provider :
vagrant up
Licence
Licence MIT
Informations sur l'auteur
Sources
Ce travail est basé sur le grand travail de nombreuses personnes, par exemple Robert de Bock, Jeff Geerling et Thomas Waldmann. Merci !