4

Ansible : playbook spécial Proxmox

Un petit article pour présenter mon playbook Ansible spécialement écrit pour mes serveurs Proxmox répartis sur différents sites géographique.
Normalement, chaque serveur Proxmox est géré par l’équipe informatique local mais forcé de constater que les mises à jour ne sont pas appliquées, d’où l’idée de ce playbook :-)

Ce que fait ce playbook :

  • Vérification de la version de PVE :
  •  - name: version PVE
       shell: pveversion
       register: release
    
  • Affichage de la version de PVE :
    - name: Notification version PVE
      debug: msg="Version de PVE {{ release.stdout }}"
    
    • Exemple de sortie :
  • Mise à jour des dépôts :
  • - name: Mise à jour des dépôts
      apt: update_cache=yes
    
  • Mise à jour des paquets :
  • - name: Mise à jour des paquets
      apt: upgrade=dist
    
  • Vérification de la dernière version du noyau Linux installé sur le Proxmox :
  • - name: version Kernel dispo
      shell: ls -t /boot/vmlinuz-* | sed "s/\/boot\/vmlinuz-//g" | head -n1
      register: kernel_dispopre>
    
  • Vérification de la version du noyau Linux utilisé par Proxmox :
  • - name: version kernel actuel
      shell: uname -r
      register: kernel_actuel
    
  • Comparaison entre les versions du noyau Linux disponible et celle utilisée par Proxmox. Si la version utilisée est ancienne, message d’avertissement pour redémarrer le Proxmox :
     - name: vérification version kernel
       debug: msg="Ce PVE doit être redémarré, kernel actuel {{ kernel_actuel.stdout }} kernel disponible {{ kernel_dispo.stdout }}"
       when: kernel_dispo.stdout != kernel_actuel.stdout
    
    • exemple de sortie :
  • Revérification de la version de PVE :
  • - name: Vérification de la version de PVE
      shell:  pveversion
      register: new_release
    
  • Notification de la mise à niveau de la version de PVE si c’est le cas :
  • - name: Notification de la mise à niveau de la version de PVE
      debug: msg="PVE à changé de version {{ release.stdout }} à {{ new_release.stdout }}"
      when: release.stdout != new_release.stdout
    
  • Vérification de la présence du paquet needrestart, dans le cas échéant l’installer :
  • - name: Vérification de la présence de needrestart
      apt: name=needrestart state=present
     
  • Lister les services à redémarrer :
  • - name: Lister les services a rédémarrer
      shell: needrestart -rl
      register: services
    
  • Affichage des services à redémarrer :
    - name: Afficher les services à redémarrer
      debug: msg="{{ services.stdout_lines }}"
    
    • Exemple de sortie :
    • Exemple de sortie quand tout est OK sur le nœud Proxmox :
  • Redémarrer les services :
  • - name: Redémarrage des services
      shell: needrestart -ra
    
  • Code source complet du playbook spécial Proxmox : https://gitlab.com/freddL/playbook_proxmox/blob/master/pve_update.yml

Partager l'article :





fred

"Dire que l'on s'en fiche du droit à la vie privée sous prétexte qu'on a rien à cacher, c'est comme déclarer que l'on se fiche du droit à la liberté d'expression sous prétexte qu'on a rien à dire." Edward Snowden

4 commentaires

  1. Salut,
    J’aurais bien aimé voir ton playbook complet mais le lien GitLab est mort.
    Pourrais-tu le mettre à disposition ?
    Merci d’avance :)

  2. Salut,
    en fait, par défaut sous GitLab les projets sont en privés contraitement à Github…

  3. Salut,

    Merci beaucoup pour ce Playbook !! Il marche a la perfection. Je n’avais jamais eu l’idée d’utiliser le needrestart.
    Je suis ton blog depuis un bon moment déja. Continue comme ça :)

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.