tehtbl.reboot

État de la construction

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 :

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 !

À propos du projet

Reboot your system if needed.

Installer
ansible-galaxy install tehtbl.reboot
Licence
mit
Téléchargements
4.2k
Propriétaire