linux-system-roles.bootloader

bootloader

ansible-lint.yml ansible-test.yml codeql.yml markdownlint.yml python-unit-test.yml tft.yml tft_citest_bad.yml woke.yml

Ansible rola do zarządzania bootloaderem i parametrami linii poleceń jądra.

Obsługiwane architektury

Ta rola obecnie wspiera konfigurację bootloadera grub2, który działa na następujących architekturach:

  • Architektury 64-bitowe AMD i Intel (x86-64)
  • Architektura ARM 64-bit (ARMv8.0)
  • Systemy Power IBM, Little Endian (POWER9)

Wymagania

Zobacz poniżej.

Wymagania dotyczące kolekcji

Jeśli nie chcesz zarządzać systemami ostree, rola nie ma dodatkowych wymagań.

Jeśli chcesz zarządzać systemami ostree, rola wymaga dodatkowych modułów z zewnętrznych kolekcji. Użyj następującego polecenia, aby je zainstalować:

ansible-galaxy collection install -vv -r meta/collection-requirements.yml

Zmienne roli

bootloader_gather_facts

Czy zbierać bootloader_facts zawierające informacje o rozruchu dla wszystkich jąder.

Domyślnie: false

Typ: bool

bootloader_settings

Za pomocą tej zmiennej wymień jądra i ich parametry linii poleceń, które chcesz ustawić.

Wymagane klucze:

  1. kernel - za pomocą tego określisz jądro, dla którego chcesz zaktualizować ustawienia. Każda lista powinna określać to samo jądro używając jednego lub więcej kluczy.

    Jeśli chcesz dodać nowe jądro, musisz określić trzy klucze: path, title, initrd.

    Jeśli chcesz zmodyfikować lub usunąć jądro, możesz określić jeden lub więcej kluczy.

    Możesz również określić DEFAULT lub ALL, aby zaktualizować domyślne lub wszystkie jądra.

    Dostępne klucze:

    • path - ścieżka do jądra
    • index - indeks jądra
    • title - tytuł jądra
    • initrd - obraz initrd jądra

    Dostępne ciągi:

    • DEFAULT - aby zaktualizować domyślny wpis
    • ALL - aby zaktualizować wszystkie wpisy
  2. state - stan jądra.

    Dostępne wartości: present, absent

    Domyślnie: present

  3. options - za pomocą tej zmiennej określ ustawienia do zaktualizowania.

    • name - nazwa ustawienia. name jest pomijany podczas używania replaced.
    • value - wartość ustawienia. Musisz pominąć value, jeśli ustawienie nie ma wartości, np. quiet.
    • state - present (domyślnie) lub absent. Wartość absent oznacza usunięcie ustawienia o podanej nazwie - nazwa musi być podana.
    • previous - opcjonalnie - jedyną wartością jest replaced - używane do określenia, że poprzednie ustawienia powinny zostać zastąpione przez podane.
    • copy_default - opcjonalnie - gdy tworzysz jądro, możesz określić copy_default: true, aby skopiować domyślne argumenty do utworzonego jądra.

Przykład znajdziesz w Przykładzie Playbooka.

Domyślnie: {}

Typ: dict

bootloader_timeout

Za pomocą tej zmiennej możesz dostosować czas ładowania bootloadera GRUB.

Domyślnie: 5

Typ: int

bootloader_password

Za pomocą tej zmiennej możesz chronić parametry rozruchu hasłem.

OSTRZEŻENIE: Zmiana hasła bootloadera nie jest idempotentna.

Nazwa użytkownika bootloadera to zawsze root.

To hasło powinno pochodzić z sejfu.

Jeśli nie jest ustawione, obecna konfiguracja nie jest zmieniana.

Domyślnie: null

Typ: string

bootloader_remove_password

Ustawiając tę zmienną na true, możesz usunąć hasło bootloadera.

Domyślnie: false

Typ: bool

bootloader_reboot_ok

Jeśli true, jeśli rola wykryje, że coś się zmieniło, co wymaga ponownego uruchomienia, rola zrestartuje zarządzany host.

Jeśli false, to Ty decydujesz, kiedy ponownie uruchomić zarządzany host.

Rola zwróci zmienną bootloader_reboot_required (zobacz poniżej) z wartością true, aby wskazać, że dokonano jakiejś zmiany, która wymaga ponownego uruchomienia.

Domyślnie: false

Typ: bool

Zmienne eksportowane przez rolę

Rola eksportuje następujące zmienne:

bootloader_reboot_needed

Domyślnie false - jeśli true, oznacza to, że ponowne uruchomienie jest konieczne, aby zastosować zmiany dokonane przez rolę.

bootloader_facts

Zawiera informacje o rozruchu dla wszystkich jąder.

Rola zwraca tę zmienną, gdy ustawisz bootloader_gather_facts: true.

Na przykład:

"bootloader_facts": [
    {
        "args": "ro rootflags=subvol=root rd.luks.uuid=luks-9da1fdf5-14ac-49fd-a388-8b1ee48f3df1 rhgb quiet",
        "id": "luks-9da1fdf5-14ac-49fd-a388-8b1ee48f3df1 rhgb quiet",
        "index": "3",
        "initrd": "/boot/initramfs-0-rescue-c44543d15b2c4e898912c2497f734e67.img",
        "kernel": "/boot/vmlinuz-0-rescue-c44543d15b2c4e898912c2497f734e67",
        "root": "UUID=65c70529-e9ad-4778-9001-18fe8c525285",
        "title": "Fedora Linux (0-rescue-c44543d15b2c4e898912c2497f734e67) 36 (Workstation Edition)",
        "default": True
    },
    {
        "args": "ro rootflags=subvol=root rd.luks.uuid=luks-9da1fdf5-14ac-49fd-a388-8b1ee48f3df1 rhgb quiet $tuned_params",
        "id": "luks-9da1fdf5-14ac-49fd-a388-8b1ee48f3df1 rhgb quiet $tuned_params",
        "index": "2",
        "initrd": "/boot/initramfs-6.3.12-100.fc37.x86_64.img $tuned_initrd",
        "kernel": "/boot/vmlinuz-6.3.12-100.fc37.x86_64",
        "root": "UUID=65c70529-e9ad-4778-9001-18fe8c525285",
        "title": "Fedora Linux (6.3.12-100.fc37.x86_64) 37 (Workstation Edition)",
        "default": False
    },
    {
        "args": "ro rootflags=subvol=root rd.luks.uuid=luks-9da1fdf5-14ac-49fd-a388-8b1ee48f3df1 rhgb quiet $tuned_params",
        "id": "luks-9da1fdf5-14ac-49fd-a388-8b1ee48f3df1 rhgb quiet $tuned_params",
        "index": "1",
        "initrd": "/boot/initramfs-6.4.15-100.fc37.x86_64.img $tuned_initrd",
        "kernel": "/boot/vmlinuz-6.4.15-100.fc37.x86_64",
        "root": "UUID=65c70529-e9ad-4778-9001-18fe8c525285",
        "title": "Fedora Linux (6.4.15-100.fc37.x86_64) 37 (Workstation Edition)",
        "default": False
    },
    {
        "args": "ro rootflags=subvol=root rd.luks.uuid=luks-9da1fdf5-14ac-49fd-a388-8b1ee48f3df1 rhgb quiet $tuned_params",
        "id": "luks-9da1fdf5-14ac-49fd-a388-8b1ee48f3df1 rhgb quiet $tuned_params",
        "index": "0",
        "initrd": "/boot/initramfs-6.5.7-100.fc37.x86_64.img $tuned_initrd",
        "kernel": "/boot/vmlinuz-6.5.7-100.fc37.x86_64",
        "root": "UUID=65c70529-e9ad-4778-9001-18fe8c525285",
        "title": "Fedora Linux (6.5.7-100.fc37.x86_64) 37 (Workstation Edition)",
        "default": False
    }
]

Przykład Playbooka

- hosts: all
  vars:
    bootloader_settings:
      # Zaktualizuj istniejące jądro, używając ścieżki i zastępując poprzednie ustawienia
      - kernel:
          path: /boot/vmlinuz-6.5.7-100.fc37.x86_64
        options:
          - name: console
            value: tty0
            state: present
          - previous: replaced
      # Zaktualizuj istniejące jądro, używając indeksu
      - kernel:
          index: 1
        options:
          - name: print-fatal-signals
            value: 1
      # Zaktualizuj istniejące jądro, używając tytułu
      - kernel:
          title: Red Hat Enterprise Linux (4.1.1.1.el8.x86_64) 8
        options:
          - name: no_timer_check
        state: present
      # Dodaj jądro z argumentami
      - kernel:
          path: /boot/vmlinuz-6.5.7-100.fc37.x86_64
          initrd: /boot/initramfs-6.5.7-100.fc37.x86_64.img
          title: Moje jądro
        options:
          - name: console
            value: tty0
          - name: print-fatal-signals
            value: 1
          - name: no_timer_check
            state: present
        state: present
      # Dodaj jądro z argumentami i kopiuj domyślne argumenty
      - kernel:
          path: /boot/vmlinuz-6.5.7-100.fc37.x86_64
          initrd: /boot/initramfs-6.5.7-100.fc37.x86_64.img
          title: Moje jądro
        options:
          - name: console
            value: tty0
          - copy_default: true
        state: present
      # Usuń jądro
      - kernel:
          title: Moje jądro
        state: absent
      # Zaktualizuj wszystkie jądra
      - kernel: ALL
        options:
          - name: debug
            state: present
      # Zaktualizuj domyślne jądro
      - kernel: DEFAULT
        options:
          - name: quiet
            state: present
    bootloader_timeout: 5
    bootloader_password: null
    bootloader_remove_password: false
    bootloader_reboot_ok: true
  roles:
    - linux-system-roles.bootloader

rpm-ostree

Zobacz README-ostree.md

Licencja

MIT

Zainstaluj
ansible-galaxy install linux-system-roles.bootloader
Licencja
mit
Pobrania
82.9k
Właściciel