tehtbl.update
Description du rôle
Installez les mises à jour sur votre système.
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.update
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:
- tehtbl.bootstrap
Variables du rôle
Ces variables sont définies dans defaults/main.yml
:
---
# ------------------------------------------------------------------------
# fichier par défaut pour la mise à jour
# ------------------------------------------------------------------------
# Pour APT (Debian/Ubuntu) seulement : supprimer les paquets de dépendance non utilisés pour tous les états de module sauf `build-dep'
update_autoremove: false
# Pour APT (Debian/Ubuntu) seulement : type d'apt_upgrade qui peut être : dist, full, yes, ou safe
update_upgrade_command: safe
# Pour APT (Debian/Ubuntu) seulement : mettre à jour le cache apt s'il est plus ancien que le cache_valid_time. Défini en secondes.
update_cache_valid_time: 7200
# Lors de la mise à jour des systèmes, un redémarrage peut être nécessaire. Ici, vous pouvez choisir de :
# "yes": Toujours redémarrer lorsque des paquets ont changé.
# "no": Ne jamais redémarrer lorsque des paquets ont changé.
update_reboot: true
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, la précédente et la prochaine version d'Ansible.)
Les rôles suivants peuvent être installés pour s'assurer que toutes les exigences sont satisfaites, en utilisant ansible-galaxy install -r requirements.yml
:
- tehtbl.reboot
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 | permettre_é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 avec 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 d'Ansible installée, 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 un tag 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
, 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 avec 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 !