mrjoshuap.leapp

ansible-leapp

Ten rola Ansible próbuje przeprowadzić zautomatyzowaną aktualizację systemów opartych na EL, głównie Red Hat Enterprise Linux.

Wykonuje następujące zadania na wysokim poziomie:

  • Weryfikacja wymagań wstępnych
  • Przygotowanie systemu do aktualizacji
  • Generowanie raportu wstępnego leapp
  • Naprawa powszechnych problemów z aktualizacją (domyślnie wyłączona)
  • Wykonanie aktualizacji (domyślnie wyłączone)
  • Sprawdzenie stanu po aktualizacji (domyślnie wyłączone)

Domyślnie ta rola nie przeprowadza faktycznej aktualizacji. Jej celem jest przygotowanie systemu i wygenerowanie raportu wstępnego, który należy przeanalizować. Jeśli chcesz, możesz także spróbować przeprowadzić aktualizację.

TODO

  • Wdrożenie weryfikacji po aktualizacji (tasks/verify.yml)

Odnośniki

Wykorzystałem następujące dokumenty jako odniesienia:

Zmienne roli

Zmienne, które modyfikują zachowanie tej roli, są zadeklarowane w defaults/main.yml

# Podaj listę identyfikatorów repozytoriów, które istnieją w /etc/yum.repos.d
# Domyślnie []
leapp_custom_repositories: []

# Określ urządzenie grub, generalnie nie jest wymagane dla większości instalacji
leapp_grub_device: '/boot'

# Pominąć Menedżera Subskrypcji Red Hat? Domyślnie nie
leapp_skip_rhsm: no

# Pominąć walidację wymagań wstępnych? Domyślnie nie
leapp_skip_validate: no

# Pominąć zadania przygotowawcze? Domyślnie nie
leapp_skip_prepare: no

# Pominąć instalację cockpit? Domyślnie nie
leapp_skip_prepare_cockpit_install: no

# Pominąć instalację pakietów?  Domyślnie nie
leapp_skip_prepare_package_install: no

# Pominąć aktualizację pakietów?  Domyślnie tak
leapp_skip_prepare_update: yes

# Pominąć ponowne uruchamianie po zmianach w aktualizacjach pakietów?  Domyślnie nie
leapp_skip_prepare_update_reboot: no

# Pominąć leapp wstępny? Domyślnie tak
leapp_skip_preupgrade: yes

# Pominąć usunięcie poprzednich raportów?  Domyślnie nie
leapp_skip_preupgrade_cleanup: no

# Pominąć naprawę powszechnych problemów?  Domyślnie tak
leapp_skip_remediate: yes

# Pominąć faktyczną aktualizację leapp? Domyślnie tak
leapp_skip_upgrade: yes

# Jak długo czekać (w sekundach) na ponowne uruchomienie po aktualizacji? Domyślnie 1200
leapp_reboot_timeout: 1200

Zależności

Nie ma zależności do użycia tej roli, jednak rola ta zakłada, że masz wdrożone standardowe środowisko operacyjne, które zapewnia:

  • Red Hat Enterprise Linux 7
  • System uprawniony z RHSM lub Satellite
  • Skonfigurowane i włączone repozytoria dla najnowszych aktualizacji, szczególnie dla rhel-7-server-rpms i rhel-7-server-extras-rpms

Dodatkowo, musisz pobrać dodatkowe wymagane pliki danych (zmiany pakietów RPM i mapowanie repozytoriów RPM) dołączone do artykułu bazy wiedzy i umieścić je w katalogu 'files' w tym samym katalogu co playbook zawierający tę rolę.

Przykład Playbooka

Poniżej przedstawiono prosty playbook, który wykona domyślne działania, aż do przeprowadzenia faktycznej aktualizacji:

---

- name: Wykonaj aktualizację inplace systemu EL
  hosts: all
  become: yes

  vars:
    # Podaj listę identyfikatorów repozytoriów, które istnieją w /etc/yum.repos.d
    # Domyślnie []
    leapp_custom_repositories: []

    # Pominąć Menedżera Subskrypcji Red Hat? Domyślnie nie
    leapp_skip_rhsm: no

    # Pominąć walidację wymagań wstępnych? Domyślnie nie
    leapp_skip_validate: no

    # Pominąć zadania przygotowawcze? Domyślnie nie
    leapp_skip_prepare: no

    # Pominąć instalację cockpit? Domyślnie nie
    leapp_skip_prepare_cockpit_install: no

    # Pominąć instalację pakietów?  Domyślnie nie
    leapp_skip_prepare_package_install: no

    # Pominąć aktualizację pakietów?  Domyślnie tak
    leapp_skip_prepare_update: yes

    # Pominąć leapp wstępny? Domyślnie nie
    leapp_skip_preupgrade: no

    # Pominąć usunięcie poprzednich raportów?  Domyślnie nie
    leapp_skip_preupgrade_cleanup: no

    # Pominąć faktyczną aktualizację leapp? Domyślnie tak
    leapp_skip_upgrade: yes

    # Jak długo czekać (w sekundach) na ponowne uruchomienie po aktualizacji? Domyślnie 1200
    leapp_reboot_timeout: 1200

  roles:
    - mrjoshuap.leapp

Licencja

GPL-2.0-or-later

Informacje o autorze

Joshua Preston jest architektem rozwiązań w Red Hat, specjalizującym się w technologiach platformowych i zarządzających.

O projekcie

An Ansible role that attempts an inplace upgrade of EL7 to EL8 using LEAPP

Zainstaluj
ansible-galaxy install mrjoshuap.leapp
Licencja
gpl-2.0
Pobrania
105
Właściciel
I am a passionate open source individual. I also love me some automation, embedded use-cases and a fill of happy source codes.