joe-speedboat.os_update
Nom du rôle
Ce rôle appliquera des mises à jour de sécurité ou des mises à jour complètes sur les machines Red Hat, Ubuntu et Alpine.
Il peut :
- effectuer des mises à jour de sécurité ou des mises à jour complètes
- nettoyer les anciennes versions du noyau
- détecter les redémarrages nécessaires et les exécuter (voir les variables)
Étant donné que je ne travaille qu'avec AWX (v20.0.1), il a seulement été testé avec ses (dernières) versions d'ansible.
Conditions requises
Accès Internet fonctionnel et bonne configuration des dépôts sur les machines.
Systèmes d'exploitation supportés :
RHEL, CentOS, Rocky, Alma
- Versions : 6-9
Ubuntu LTS : 20.04 22.04
Alpine : stable-latest
Debian devrait fonctionner, j'utilise uniquement des distributions LTS, qui peuvent avoir un SLA.
Mint fonctionne, mais n'est pas priorisé (besoins personnels)
Variables de rôle
- gather_facts est désactivé, car nous devons d'abord déterminer si l'hôte est en ligne.
Nous faisons cela plusieurs fois pour éviter les problèmes de charge et de connectivité.
Merci de consulter le dossiertests
.
La plupart des variables ont un équivalent varname_default
, qui est destiné à être utilisé pour remplacer la valeur par défaut au niveau du playbook.
Ainsi, vous pouvez définir le comportement par défaut pour tous les cibles qui n'ont pas de variables définies. Par exemple : mise à jour complète | mise à jour de sécurité.
Prenons un exemple :
- le
os_update_reboot
par défaut dansdefaults/main.yml
est défini surTrue
- dans le playbook, vous définissez
os_update_reboot_default
surFalse
- dans l’inventaire, vous avez défini
os_update_reboot
surTrue
pour votre groupe d'hôtestesting
Ainsi, tous vos hôtes éviteront le redémarrage après la mise à jour, sauf votre groupe d'hôtestesting
... voilà, astucieux, n'est-ce pas ?
Rappelez-vous : varname
est toujours contraignant, varname_default
ne fait que remplacer le comportement par défaut du rôle.
os_update_level:
sécurité
os_update_level: [none|security|full]os_update_reboot:
vrai
os_update_reboot: [true|false]os_update_remove_old_kernel:
vrai
os_update_remove_old_kernel: [true|false]os_update_keep_kernel_nr:
2
Dépendances
Aucune à ce jour.
Exemple de Playbook
Vérifiez le répertoire test pour des exemples.
Licence
GPLv3
Security or full patching, cleanup old kernel versions, detect needed reboots and boot them. All that is controlled by defaults in clever way :-)
ansible-galaxy install joe-speedboat.os_update