tehtbl.reboot
Description du rôle
Redémarrez votre système si nécessaire.
Exemple de Playbook
Cet exemple est tiré de molecule/default/converge.yml
et est testé à chaque push, demande de tirage et publication.
---
- name: Converge
hosts: all
become: true
gather_facts: false
roles:
- role: tehtbl.reboot
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
roles:
- role: tehtbl.bootstrap
Variables de rôle
Ces variables sont définies dans defaults/main.yml
:
---
# ------------------------------------------------------------------------
# fichier par défaut pour le redémarrage
# ------------------------------------------------------------------------
# Certains systèmes d'exploitation peuvent déterminer si un redémarrage est nécessaire. Ce
# paramètre peut être défini pour redémarrer systématiquement.
reboot_always: false
# Combien de temps attendre avant d'envoyer un redémarrage.
reboot_delay: 4
# Nombre de secondes à attendre avant de vérifier si la machine est opérationnelle.
reboot_up_delay: 8
# Vous pouvez spécifier un message pour le redémarrage, ce qui facilite l'audit.
reboot_message: "redémarrage par le rôle Ansible tehtbl.reboot"
Exigences
- Accès à un référentiel 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 | tag | échecs autorisés |
---|---|---|
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, veuillez les enregistrer sur GitHub
Les tests sont effectués en utilisant Tox et Molecule :
Tox teste plusieurs versions d'Ansible. Molecule teste plusieurs distributions.
Pour tester en utilisant les paramètres par défaut (n'importe quelle version installée d'Ansible, espace de noms : tehtbl
, image : ubuntu
, tag : latest
) :
molecule test
# Ou sélectionnez une image spécifique :
IMAGE="ubuntu" molecule test
# Ou sélectionnez une image spécifique et une étiquette spécifique :
IMAGE="debian" TAG="stable" tox
Ou vous pouvez tester plusieurs versions d'Ansible et sélectionner les bonnes images :
Tox permet de tester plusieurs versions d'Ansible. Pour exécuter les tests par défaut (espace de noms : tehtbl
, image : ubuntu
, tag : latest
) :
tox
# Pour exécuter Ubuntu (espace de noms : `tehtbl`, tag : `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 le fournisseur VirtualBox :
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 !