mrjoshuap.leapp
ansible-leapp
Ce rôle Ansible tente d'effectuer une mise à niveau automatique sur place des systèmes basés sur EL, principalement Red Hat Enterprise Linux.
Il effectue les tâches suivantes :
- Validation des prérequis et des exigences
- Préparation d'un système pour la mise à niveau
- Génération d'un rapport de pré-mise à niveau leapp
- Correction des problèmes courants de mise à niveau (désactivé par défaut)
- Réalisation de la mise à niveau (désactivé par défaut)
- Vérification de l'état après la mise à niveau (désactivé par défaut)
Par défaut, ce rôle ne réalisera pas la mise à niveau réelle. Il est destiné à préparer le système et à générer un rapport de pré-mise à niveau qui doit être examiné. Si vous vous sentez chanceux, vous pouvez aussi lui faire tenter d'effectuer la mise à niveau.
À FAIRE
- Implémenter la vérification post-mise à niveau (tâches/verify.yml)
Références
J'ai utilisé les documents suivants comme référence :
- https://developers.redhat.com/products/rhel/download
- https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/upgrading_from_rhel_7_to_rhel_8/index
- https://www.redhat.com/en/blog/upgrading-rhel-7-rhel-8-leapp-and-boom
- https://access.redhat.com/articles/4263361
- https://access.redhat.com/articles/3664871
Variables de rôle
Les variables qui modifient le comportement de ce rôle sont déclarées dans defaults/main.yml
# Fournir une liste d'ID de dépôts qui existent dans /etc/yum.repos.d
# Par défaut []
leapp_custom_repositories: []
# Spécifier un périphérique grub, généralement pas nécessaire pour la plupart des installations
leapp_grub_device: '/boot'
# Ignorer le gestionnaire d'abonnement Red Hat ? Par défaut non
leapp_skip_rhsm: no
# Ignorer les vérifications de validation préalables ? Par défaut non
leapp_skip_validate: no
# Ignorer les tâches de préparation ? Par défaut non
leapp_skip_prepare: no
# Ignorer l'installation de Cockpit ? Par défaut non
leapp_skip_prepare_cockpit_install: no
# Ignorer l'installation des paquets ? Par défaut non
leapp_skip_prepare_package_install: no
# Ignorer les mises à jour réelles des paquets ? Par défaut oui
leapp_skip_prepare_update: yes
# Ignorer le redémarrage après des changements dans les mises à jour des paquets ? Par défaut non
leapp_skip_prepare_update_reboot: no
# Ignorer la pré-mise à niveau leapp ? Par défaut oui
leapp_skip_preupgrade: yes
# Ignorer la suppression des précédents rapports ? Par défaut non
leapp_skip_preupgrade_cleanup: no
# Ignorer la correction des problèmes courants ? Par défaut oui
leapp_skip_remediate: yes
# Ignorer la mise à niveau leapp réelle ? Par défaut oui
leapp_skip_upgrade: yes
# Combien de temps attendre (en secondes) pour le redémarrage après la mise à niveau ? Par défaut 1200
leapp_reboot_timeout: 1200
Dépenses
Il n'y a pas de dépendances pour utiliser ce rôle, cependant, ce rôle suppose que vous avez mis en œuvre un environnement opérationnel standard qui fournit :
- Red Hat Enterprise Linux 7
- Système habilité avec RHSM ou Satellite
- Dépôts configurés et activés pour les dernières mises à jour, en particulier pour
rhel-7-server-rpms
etrhel-7-server-extras-rpms
De plus, vous devez également télécharger les fichiers de données supplémentaires requis (changements de paquets RPM et mappage de dépôts RPM) joints à l' Article de la base de connaissances et les placer dans le répertoire 'files' dans le même répertoire que le playbook incluant ce rôle.
Exemple de playbook
Voici un simple playbook qui effectuera les comportements par défaut jusqu'à effectuer la mise à niveau réelle :
---
- nom: Effectuer une mise à niveau sur place d'un système EL
hôtes: tous
devenir: oui
vars:
# Fournir une liste d'ID de dépôts qui existent dans /etc/yum.repos.d
# Par défaut []
leapp_custom_repositories: []
# Ignorer le gestionnaire d'abonnement Red Hat ? Par défaut non
leapp_skip_rhsm: non
# Ignorer les vérifications de validation préalables ? Par défaut non
leapp_skip_validate: non
# Ignorer les tâches de préparation ? Par défaut non
leapp_skip_prepare: non
# Ignorer l'installation de Cockpit ? Par défaut non
leapp_skip_prepare_cockpit_install: non
# Ignorer l'installation des paquets ? Par défaut non
leapp_skip_prepare_package_install: non
# Ignorer les mises à jour réelles des paquets ? Par défaut oui
leapp_skip_prepare_update: oui
# Ignorer la pré-mise à niveau leapp ? Par défaut non
leapp_skip_preupgrade: non
# Ignorer la suppression des précédents rapports ? Par défaut non
leapp_skip_preupgrade_cleanup: non
# Ignorer la mise à niveau leapp réelle ? Par défaut oui
leapp_skip_upgrade: oui
# Combien de temps attendre (en secondes) pour le redémarrage après la mise à niveau ? Par défaut 1200
leapp_reboot_timeout: 1200
rôles:
- mrjoshuap.leapp
Licence
GPL-2.0-ou-supérieure
Informations sur l'auteur
Joshua Preston est un architecte de solutions chez Red Hat, spécialisé dans les technologies de plateforme et de gestion.
An Ansible role that attempts an inplace upgrade of EL7 to EL8 using LEAPP
ansible-galaxy install mrjoshuap.leapp