joe-speedboat.os_update
Nazwa Roli
Ta rola zastosuje zabezpieczenia lub pełne aktualizacje dla maszyn Red Hat, Ubuntu i Alpine.
Może:
- zastosować zabezpieczenia lub pełne aktualizacje
- usunąć stare wersje jądra
- wykrywać potrzebne ponowne uruchomienia i je realizować (patrz zmienne)
Ponieważ pracuję tylko z AWX (v20.0.1), rola została przetestowana tylko z jego (najnowocześnymi) wersjami ansible.
Wymagania
Działający internet oraz odpowiednia konfiguracja repozytoriów na maszynach.
Obsługiwane systemy operacyjne:
RHEL, CentOS, Rocky, Alma
- Wersja: 6-9
Ubuntu LTS: 20.04, 22.04
Alpine: stable-latest
Debian powinien działać, używam tylko dystrybucji LTS, które mogą mieć SLA.
Mint działa, ale nie jest w centrum uwagi (osobiste potrzeby).
Zmienna Roli
- odczyt faktów jest wyłączony, ponieważ musimy najpierw stwierdzić, czy host jest online.
Robimy to wielokrotnie, aby uniknąć problemów z obciążeniem i łącznością.
Proszę zajrzeć do folderutests
.
Większość zmiennych ma odpowiednik varname_default
, który służy do nadpisywania domyślnego zachowania na poziomie playbooka.
Możesz więc zdefiniować domyślne zachowanie dla wszystkich celów, które nie mają wcale zdefiniowanych zmiennych. np. pełne|zabezpieczenia aktualizacji.
Przykład:
- domyślna
os_update_reboot
wdefaults/main.yml
jest ustawiona naTrue
- w playbooku definiujesz
os_update_reboot_default
naFalse
- w inwentarzu ustawiłeś
os_update_reboot
naTrue
dla swojej grupy hostówtesting
Wszystkie Twoje hosty unikną ponownego uruchamiania po aktualizacji, z wyjątkiem grupy hostówtesting
.... voilà, sprytne, prawda?
Pamiętaj: varname
zawsze jest egzekwowane, varname_default
po prostu nadpisuje domyślne zachowanie roli.
os_update_level:
zabezpieczenia
os_update_level: [żadne|zabezpieczenia|pełne]os_update_reboot:
prawda
os_update_reboot: [prawda|fałsz]os_update_remove_old_kernel:
prawda
os_update_remove_old_kernel: [prawda|fałsz]os_update_keep_kernel_nr:
2
Zależności
Jak na razie brak.
Przykład Playbooka
sprawdź katalog testowy dla przykładów
Licencja
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