joe-speedboat.os_update

Rollenname

Diese Rolle wendet Sicherheitsupdates oder vollständige Patches auf Red Hat-, Ubuntu- und Alpine- Maschinen an.

Sie kann:

  • Sicherheits- oder Vollpatches durchführen
  • Alte Kernversionen bereinigen
  • Notwendige Neustarts erkennen und durchführen (siehe Variablen)

Da ich nur mit AWX (v20.0.1) arbeite, ist sie nur mit den (neuesten) Ansible-Versionen dieser Plattform getestet.

Voraussetzungen

Aktive Internetverbindung und richtige Repository-Konfiguration auf den Maschinen.

Unterstützte Betriebssysteme:

  • RHEL, CentOS, Rocky, Alma

    • Version: 6-9
  • Ubuntu LTS: 20.04, 22.04

  • Alpine: stable-latest

  • Debian sollte funktionieren, ich verwende nur LTS-Distributionen, die eine SLA haben können.

  • Mint funktioniert, hat aber keinen Fokus (persönliche Bedürfnisse)

Rollenvariablen

  • gather_facts ist deaktiviert, da wir zuerst entscheiden müssen, ob der Host online ist.
    Wir tun dies mehrmals, um Lade- und Verbindungsprobleme zu vermeiden.
    Bitte schaue im tests-Ordner nach.

Die meisten Variablen haben ein varname_default Äquivalent, das dazu gedacht ist, das Standardverhalten auf Playbook-Ebene zu überschreiben.
So kannst du das Standardverhalten für alle Ziele definieren, die keine Variablen definiert haben, z.B. vollständige oder Sicherheits-Patches.

Lass uns ein Beispiel machen:

  • Das Standardwert von os_update_reboot in defaults/main.yml ist auf True gesetzt
  • Im Playbook definierst du os_update_reboot_default mit False
  • In der Inventarliste hast du os_update_reboot für deine Hostgruppe testing auf True gesetzt. Somit werden alle deine Hosts nach dem Patchen keinen Neustart durchführen, außer deine Hostgruppe testing .... Voilà, clever, oder?

Denke daran: varname hat immer Vorrang, varname_default überschreibt nur das Standardverhalten der Rolle.

  • os_update_level: sicherheit
    os_update_level: [none|security|full]

  • os_update_reboot: wahr
    os_update_reboot: [true|false]

  • os_update_remove_old_kernel: wahr
    os_update_remove_old_kernel: [true|false]

  • os_update_keep_kernel_nr: 2

Abhängigkeiten

Bisher keine.

Beispiel-Spielbuch

Überprüfe das Testverzeichnis auf Beispiele.

Lizenz

GPLv3

Über das Projekt

Security or full patching, cleanup old kernel versions, detect needed reboots and boot them. All that is controlled by defaults in clever way :-)

Installieren
ansible-galaxy install joe-speedboat.os_update
GitHub Repository
Lizenz
gpl-3.0
Downloads
6.2k
Besitzer
I don't do Linux for 20 years because I love Unix or consoles. OpenSource is what I love and want to do. moving together ... that fascinates me ...