linux-system-roles.bootloader

Chargeur de démarrage

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

Un rôle Ansible pour la gestion du chargeur de démarrage et des paramètres de ligne de commande du noyau.

Architectures prises en charge

Ce rôle prend actuellement en charge la configuration du chargeur de démarrage grub2 qui fonctionne sur les architectures suivantes :

  • Architectures 64 bits AMD et Intel (x86-64)
  • Architecture ARM 64 bits (ARMv8.0)
  • IBM Power Systems, Little Endian (POWER9)

Exigences

Voir ci-dessous

Exigences de collection

Si vous ne souhaitez pas gérer les systèmes ostree, le rôle n'a aucune exigence.

Si vous voulez gérer les systèmes ostree, le rôle nécessite des modules supplémentaires provenant de collections externes. Veuillez utiliser la commande suivante pour les installer :

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

Variables du rôle

bootloader_gather_facts

Indique s'il faut collecter les bootloader_facts qui contiennent des informations de démarrage pour tous les noyaux.

Par défaut : false

Type : bool

bootloader_settings

Avec cette variable, listez les noyaux et leurs paramètres de ligne de commande que vous souhaitez définir.

Clés requises :

  1. kernel - avec ceci, spécifiez le noyau pour lequel mettre à jour les paramètres. Chaque liste doit spécifier le même noyau en utilisant une ou plusieurs clés.

    Si vous voulez ajouter un noyau, vous devez spécifier trois clés : path, title, initrd.

    Si vous souhaitez modifier ou supprimer un noyau, vous pouvez spécifier une ou plusieurs clés.

    Vous pouvez aussi spécifier DEFAULT ou ALL pour mettre à jour le noyau par défaut ou tous les noyaux.

    Clés disponibles :

    • path - chemin du noyau
    • index - index du noyau
    • title - titre du noyau
    • initrd - image initrd du noyau

    Chaînes disponibles :

    • DEFAULT - pour mettre à jour l'entrée par défaut
    • ALL - pour mettre à jour toutes les entrées
  2. state - état du noyau.

    Valeurs disponibles : present, absent

    Par défaut : present

  3. options - avec ceci, spécifiez les paramètres à mettre à jour.

    • name - Le nom du paramètre. name est omis lors de l'utilisation de replaced.
    • value - La valeur pour le paramètre. Vous devez omettre value si le paramètre n'a pas de valeur, par exemple quiet.
    • state - present (par défaut) ou absent. La valeur absent signifie supprimer un paramètre avec le nom name.
    • previous - Optionnel - la seule valeur est replaced - ceci est utilisé pour indiquer que les paramètres précédents doivent être remplacés par les paramètres donnés.
    • copy_default - Optionnel - lorsque vous créez un noyau, vous pouvez spécifier copy_default: true pour copier les arguments par défaut vers le noyau créé.

Pour un exemple, voir Exemple de Playbook.

Par défaut : {}

Type : dict

bootloader_timeout

Avec cette variable, vous pouvez personnaliser le temps de chargement du chargeur de démarrage GRUB.

Par défaut : 5

Type : int

bootloader_password

Avec cette variable, vous pouvez protéger les paramètres de démarrage avec un mot de passe.

AVERTISSEMENT : Changer le mot de passe du chargeur de démarrage n'est pas idempotent.

Le nom d'utilisateur du chargeur de démarrage est toujours root.

Cela doit provenir du coffre-fort.

Si non défini, la configuration actuelle n'est pas modifiée.

Par défaut : null

Type : string

bootloader_remove_password

En définissant cette variable sur true, vous pouvez supprimer le mot de passe du chargeur de démarrage.

Par défaut : false

Type : bool

bootloader_reboot_ok

Si true, ce rôle redémarrera l'hôte géré si des changements nécessitent un redémarrage pour prendre effet.

Si false, il vous appartient de déterminer quand redémarrer l'hôte géré.

Le rôle renverra la variable bootloader_reboot_required (voir ci-dessous) avec une valeur de true pour indiquer qu'un changement a eu lieu qui nécessite un redémarrage pour prendre effet.

Par défaut : false

Type : bool

Variables exportées par le rôle

Le rôle exporte les variables suivantes :

bootloader_reboot_needed

Par défaut false - si true, cela signifie qu'un redémarrage est nécessaire pour appliquer les changements effectués par le rôle.

bootloader_facts

Contient des informations de démarrage pour tous les noyaux.

Le rôle renvoie cette variable lorsque vous définissez bootloader_gather_facts: true.

Par exemple :

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

Exemple de Playbook

- hosts: all
  vars:
    bootloader_settings:
      # Mettre à jour un noyau existant en utilisant le chemin et en remplaçant les paramètres précédents
      - kernel:
          path: /boot/vmlinuz-6.5.7-100.fc37.x86_64
        options:
          - name: console
            value: tty0
            state: present
          - previous: replaced
      # Mettre à jour un noyau existant en utilisant l'index
      - kernel:
          index: 1
        options:
          - name: print-fatal-signals
            value: 1
      # Mettre à jour un noyau existant en utilisant le titre
      - kernel:
          title: Red Hat Enterprise Linux (4.1.1.1.el8.x86_64) 8
        options:
          - name: no_timer_check
        state: present
      # Ajouter un noyau avec des arguments
      - kernel:
          path: /boot/vmlinuz-6.5.7-100.fc37.x86_64
          initrd: /boot/initramfs-6.5.7-100.fc37.x86_64.img
          title: Mon noyau
        options:
          - name: console
            value: tty0
          - name: print-fatal-signals
            value: 1
          - name: no_timer_check
            state: present
        state: present
      # Ajouter un noyau avec des arguments et copier les arguments par défaut
      - kernel:
          path: /boot/vmlinuz-6.5.7-100.fc37.x86_64
          initrd: /boot/initramfs-6.5.7-100.fc37.x86_64.img
          title: Mon noyau
        options:
          - name: console
            value: tty0
          - copy_default: true
        state: present
      # Supprimer un noyau
      - kernel:
          title: Mon noyau
        state: absent
      # Mettre à jour tous les noyaux
      - kernel: ALL
        options:
          - name: debug
            state: present
      # Mettre à jour le noyau par défaut
      - 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

Voir README-ostree.md

Licence

MIT

Installer
ansible-galaxy install linux-system-roles.bootloader
Licence
mit
Téléchargements
82.9k
Propriétaire