bootloader

Загрузчик

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

Роль Ansible для управления загрузчиком и командной строкой ядра.

Поддерживаемые архитектуры

Эта роль поддерживает настройку загрузчика grub2, который работает на следующих архитектурах:

  • Архитектуры AMD и Intel 64-бит (x86-64)
  • 64-битная архитектура ARM (ARMv8.0)
  • IBM Power Systems, Little Endian (POWER9)

Требования

Смотрите ниже

Требования для коллекции

Если вы не хотите управлять системами ostree, у этой роли нет требований.

Если вы хотите управлять системами ostree, роли требуются дополнительные модули из внешних коллекций. Пожалуйста, используйте следующую команду для их установки:

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

Переменные роли

bootloader_gather_facts

Необходимо ли собирать bootloader_facts, содержащие информацию о загрузке для всех ядер.

По умолчанию: false

Тип: bool

bootloader_settings

С помощью этой переменной можно перечислить ядра и параметры командной строки, которые вы хотите установить.

Обязательные ключи:

  1. kernel - с помощью этого ключа укажите ядро, настройки которого нужно обновить. Каждый список должен определять одно и то же ядро, используя один или несколько ключей.

    Если вы хотите добавить ядро, вы должны указать три ключа - path, title, initrd.

    Для изменения или удаления ядра можно указать один или несколько ключей.

    Также можно указать DEFAULT или ALL, чтобы обновить настройки по умолчанию или для всех ядер.

    Доступные ключи:

    • path - путь к ядру
    • index - индекс ядра
    • title - название ядра
    • initrd - изображение initrd ядра

    Доступные строки:

    • DEFAULT - для обновления записи по умолчанию
    • ALL - для обновления всех записей
  2. state - состояние ядра.

    Доступные значения: present, absent

    По умолчанию: present

  3. options - с помощью этого ключа укажите настройки, которые нужно обновить

    • name - Имя настройки. name пропускается при использовании replaced.
    • value - Значение настройки. Необходимо пропустить value, если настройка не имеет значения, например, quiet.
    • state - present (по умолчанию) или absent. Значение absent означает удаление настройки с именем name - имя должно быть указано.
    • previous - По желанию - единственное значение replaced - используется для указания, что предыдущие настройки должны быть заменены на заданные настройки.
    • copy_default - По желанию - когда вы создаете ядро, вы можете указать copy_default: true, чтобы скопировать аргументы по умолчанию в создаваемое ядро.

Для примера смотрите Пример Playbook.

По умолчанию: {}

Тип: dict

bootloader_timeout

С помощью этой переменной вы можете настроить время загрузки загрузчика GRUB.

По умолчанию: 5

Тип: int

bootloader_password

С помощью этой переменной вы можете защитить параметры загрузки паролем.

ВНИМАНИЕ: Изменение пароля загрузчика не является идемпотентным.

Имя пользователя загрузчика всегда root.

Пароль должен храниться в хранилище.

Если не задан, текущая конфигурация не изменяется.

По умолчанию: null

Тип: string

bootloader_remove_password

Установив эту переменную в true, вы можете удалить пароль загрузчика.

По умолчанию: false

Тип: bool

bootloader_reboot_ok

Если true, если роль обнаруживает, что что-то изменилось и требуется перезагрузка для принятия изменений, роль перезагрузит управляемый хост.

Если false, вы сами решаете, когда перезагружать управляемый хост.

Роль вернет переменную bootloader_reboot_required (см. ниже) со значением true, чтобы указать, что произошло изменение, которое требует перезагрузки для принятия изменений.

По умолчанию: false

Тип: bool

Экспортируемые ролью переменные

Роль экспортирует следующие переменные:

bootloader_reboot_needed

По умолчанию false - если true, это означает, что перезагрузка необходима для применения изменений, сделанных ролью.

bootloader_facts

Содержит информацию о загрузке для всех ядер.

Роль возвращает эту переменную, когда вы устанавливаете bootloader_gather_facts: true.

Например:

"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 (Рабочая версия)",
        "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 (Рабочая версия)",
        "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 (Рабочая версия)",
        "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 (Рабочая версия)",
        "default": False
    }
]

Пример Playbook

- hosts: all
  vars:
    bootloader_settings:
      # Обновите существующее ядро, используя путь и заменяя предыдущие настройки
      - kernel:
          path: /boot/vmlinuz-6.5.7-100.fc37.x86_64
        options:
          - name: console
            value: tty0
            state: present
          - previous: replaced
      # Обновите существующее ядро, используя индекс
      - kernel:
          index: 1
        options:
          - name: print-fatal-signals
            value: 1
      # Обновите существующее ядро, используя название
      - kernel:
          title: Red Hat Enterprise Linux (4.1.1.1.el8.x86_64) 8
        options:
          - name: no_timer_check
        state: present
      # Добавьте ядро с аргументами
      - kernel:
          path: /boot/vmlinuz-6.5.7-100.fc37.x86_64
          initrd: /boot/initramfs-6.5.7-100.fc37.x86_64.img
          title: Мое ядро
        options:
          - name: console
            value: tty0
          - name: print-fatal-signals
            value: 1
          - name: no_timer_check
            state: present
        state: present
      # Добавьте ядро с аргументами и копированием аргументов по умолчанию
      - kernel:
          path: /boot/vmlinuz-6.5.7-100.fc37.x86_64
          initrd: /boot/initramfs-6.5.7-100.fc37.x86_64.img
          title: Мое ядро
        options:
          - name: console
            value: tty0
          - copy_default: true
        state: present
      # Удалите ядро
      - kernel:
          title: Мое ядро
        state: absent
      # Обновите все ядра
      - kernel: ALL
        options:
          - name: debug
            state: present
      # Обновите ядро по умолчанию
      - 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

Смотрите README-ostree.md

Лицензия

MIT

Установить
ansible-galaxy install linux-system-roles/bootloader
Лицензия
mit
Загрузки
42305
Владелец