linux-system-roles.bootloader

gestor de arranque

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

Un rol de Ansible para la gestión del gestor de arranque y la línea de comandos del kernel.

Arquitecturas soportadas

Este rol soporta actualmente la configuración del gestor de arranque grub2, que funciona en las siguientes arquitecturas:

  • Arquitecturas de 64 bits de AMD e Intel (x86-64)
  • Arquitectura ARM de 64 bits (ARMv8.0)
  • Sistemas IBM Power, Little Endian (POWER9)

Requisitos

Ver a continuación

Requisitos de colección

Si no quieres gestionar sistemas ostree, el rol no tiene requisitos.

Si deseas gestionar sistemas ostree, el rol requiere módulos adicionales de colecciones externas. Por favor, usa el siguiente comando para instalarlos:

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

Variables del rol

bootloader_gather_facts

Si reunir bootloader_facts que contienen información de arranque para todos los kernels.

Por defecto: false

Tipo: bool

bootloader_settings

Con esta variable, lista los kernels y sus parámetros de línea de comandos que deseas configurar.

Claves requeridas:

  1. kernel - con esto, especifica el kernel para actualizar la configuración. Cada lista debe especificar el mismo kernel usando una o más claves.

    Si deseas agregar un kernel, debes especificar tres claves: path, title, initrd.

    Si deseas modificar o eliminar un kernel, puedes especificar una o más claves.

    También puedes especificar DEFAULT o ALL para actualizar el kernel por defecto o todos los kernels.

    Claves disponibles:

    • path - ruta del kernel
    • index - índice del kernel
    • title - título del kernel
    • initrd - imagen initrd del kernel

    Cadenas disponibles:

    • DEFAULT - para actualizar la entrada por defecto
    • ALL - para actualizar todas las entradas
  2. state - estado del kernel.

    Valores disponibles: present, absent

    Por defecto: present

  3. options - con esto, especifica la configuración a actualizar

    • name - El nombre de la configuración. name se omite al usar replaced.
    • value - El valor para la configuración. Debes omitir value si la configuración no tiene valor, por ejemplo, quiet.
    • state - present (por defecto) o absent. El valor absent significa eliminar una configuración con el nombre name - el nombre debe ser proporcionado.
    • previous - Opcional - el único valor es replaced - esto se utiliza para especificar que las configuraciones anteriores deben ser reemplazadas por las dadas.
    • copy_default - Opcional - cuando creas un kernel, puedes especificar copy_default: true para copiar los argumentos por defecto al kernel creado.

Para un ejemplo, ver Ejemplo de Playbook.

Por defecto: {}

Tipo: dict

bootloader_timeout

Con esta variable, puedes personalizar el tiempo de carga del gestor de arranque GRUB.

Por defecto: 5

Tipo: int

bootloader_password

Con esta variable, puedes proteger los parámetros de arranque con una contraseña.

ADVERTENCIA: Cambiar la contraseña del gestor de arranque no es idempotente.

El nombre de usuario del gestor de arranque es siempre root.

Esto debe venir de un vault.

Si no está configurado, la configuración actual no se modifica.

Por defecto: null

Tipo: string

bootloader_remove_password

Al configurar esta variable como true, puedes eliminar la contraseña del gestor de arranque.

Por defecto: false

Tipo: bool

bootloader_reboot_ok

Si true, si el rol detecta que algo cambió que requiere un reinicio para tener efecto, el rol reiniciará el host gestionado.

Si false, depende de ti determinar cuándo reiniciar el host gestionado.

El rol regresará la variable bootloader_reboot_required (ver más abajo) con un valor de true para indicar que se ha producido un cambio que necesita un reinicio para tener efecto.

Por defecto: false

Tipo: bool

Variables exportadas por el rol

El rol exporta las siguientes variables:

bootloader_reboot_needed

Por defecto false - si es true, esto significa que se necesita un reinicio para aplicar los cambios realizados por el rol.

bootloader_facts

Contiene información de arranque para todos los kernels.

El rol devuelve esta variable cuando configuras bootloader_gather_facts: true.

Por ejemplo:

"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
    }
]

Ejemplo de Playbook

- hosts: all
  vars:
    bootloader_settings:
      # Actualizar un kernel existente usando la ruta y reemplazando configuraciones anteriores
      - kernel:
          path: /boot/vmlinuz-6.5.7-100.fc37.x86_64
        options:
          - name: console
            value: tty0
            state: present
          - previous: replaced
      # Actualizar un kernel existente usando el índice
      - kernel:
          index: 1
        options:
          - name: print-fatal-signals
            value: 1
      # Actualizar un kernel existente usando el título
      - kernel:
          title: Red Hat Enterprise Linux (4.1.1.1.el8.x86_64) 8
        options:
          - name: no_timer_check
        state: present
      # Agregar un kernel con argumentos
      - kernel:
          path: /boot/vmlinuz-6.5.7-100.fc37.x86_64
          initrd: /boot/initramfs-6.5.7-100.fc37.x86_64.img
          title: Mi kernel
        options:
          - name: console
            value: tty0
          - name: print-fatal-signals
            value: 1
          - name: no_timer_check
            state: present
        state: present
      # Agregar un kernel con argumentos y copiando argumentos por defecto
      - kernel:
          path: /boot/vmlinuz-6.5.7-100.fc37.x86_64
          initrd: /boot/initramfs-6.5.7-100.fc37.x86_64.img
          title: Mi kernel
        options:
          - name: console
            value: tty0
          - copy_default: true
        state: present
      # Eliminar un kernel
      - kernel:
          title: Mi kernel
        state: absent
      # Actualizar todos los kernels
      - kernel: ALL
        options:
          - name: debug
            state: present
      # Actualizar el kernel por defecto
      - 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

Ver README-ostree.md

Licencia

MIT

Instalar
ansible-galaxy install linux-system-roles.bootloader
Licencia
mit
Descargas
82.9k
Propietario