mrjoshuap.leapp
ansible-leapp
Este rol de Ansible intenta realizar una actualización automatizada en lugar de los sistemas basados en EL, principalmente Red Hat Enterprise Linux.
Realiza las siguientes tareas de alto nivel:
- Validar requisitos y condiciones previas
- Preparar un sistema para la actualización
- Generar informe preactualización de leapp
- Resolver problemas comunes de actualización (deshabilitado por defecto)
- Realizar la actualización (deshabilitado por defecto)
- Verificar el estado posterior a la actualización (deshabilitado por defecto)
Por defecto, este rol no realizará la actualización real. Está destinado a preparar el sistema y generar un informe preactualización que debe ser revisado. Si te sientes con suerte, también puedes hacer que intente realizar la actualización.
TODO
- Implementar la verificación posterior a la actualización (tasks/verify.yml)
Referencias
Utilicé los siguientes documentos como referencia:
- 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 del Rol
Las variables que modifican el comportamiento de este rol se declaran en defaults/main.yml
# Proporcionar una lista de IDs de repositorios que existan en /etc/yum.repos.d
# Predeterminado []
leapp_custom_repositories: []
# Especificar un dispositivo grub, generalmente no requerido para la mayoría de las instalaciones
leapp_grub_device: '/boot'
# Saltar Red Hat Subscription Manager? Predeterminado no
leapp_skip_rhsm: no
# Saltar las verificaciones previas de validación? Predeterminado no
leapp_skip_validate: no
# Saltar las tareas de preparación? Predeterminado no
leapp_skip_prepare: no
# Saltar la instalación de cockpit? Predeterminado no
leapp_skip_prepare_cockpit_install: no
# Saltar la instalación de paquetes? Predeterminado no
leapp_skip_prepare_package_install: no
# Saltar las actualizaciones reales de paquetes? Predeterminado sí
leapp_skip_prepare_update: yes
# Saltar el reinicio después de los cambios en las actualizaciones de paquetes? Predeterminado no
leapp_skip_prepare_update_reboot: no
# Saltar la preactualización de leapp? Predeterminado sí
leapp_skip_preupgrade: yes
# Saltar la eliminación de informes anteriores? Predeterminado no
leapp_skip_preupgrade_cleanup: no
# Saltar la remediación de problemas comunes? Predeterminado sí
leapp_skip_remediate: yes
# Saltar la actualización real de leapp? Predeterminado sí
leapp_skip_upgrade: yes
# Cuánto tiempo esperar (en segundos) para reiniciar después de la actualización? Predeterminado 1200
leapp_reboot_timeout: 1200
Dependencias
No hay dependencias para usar este rol; sin embargo, este rol asume que has implementado un entorno operativo estándar que proporciona:
- Red Hat Enterprise Linux 7
- Sistema con derecho a RHSM o Satellite
- Repositorios configurados y habilitados para las últimas actualizaciones, específicamente para
rhel-7-server-rpms
yrhel-7-server-extras-rpms
Además, también debes descargar los archivos de datos requeridos adicionales (cambios de paquetes RPM y mapeo de repositorios RPM) adjuntos al Artículo de la Base de Conocimientos y colocarlo en el directorio 'files' en el mismo directorio que el playbook que incluye este rol.
Ejemplo de Playbook
A continuación, se muestra un simple playbook que realizará los comportamientos predeterminados hasta realizar la actualización real:
---
- nombre: Realizar una actualización en el lugar de un sistema EL
hosts: all
become: yes
vars:
# Proporcionar una lista de IDs de repositorios que existan en /etc/yum.repos.d
# Predeterminado []
leapp_custom_repositories: []
# Saltar Red Hat Subscription Manager? Predeterminado no
leapp_skip_rhsm: no
# Saltar las verificaciones previas de validación? Predeterminado no
leapp_skip_validate: no
# Saltar las tareas de preparación? Predeterminado no
leapp_skip_prepare: no
# Saltar la instalación de cockpit? Predeterminado no
leapp_skip_prepare_cockpit_install: no
# Saltar la instalación de paquetes? Predeterminado no
leapp_skip_prepare_package_install: no
# Saltar las actualizaciones reales de paquetes? Predeterminado sí
leapp_skip_prepare_update: yes
# Saltar la preactualización de leapp? Predeterminado no
leapp_skip_preupgrade: no
# Saltar la eliminación de informes anteriores? Predeterminado no
leapp_skip_preupgrade_cleanup: no
# Saltar la actualización real de leapp? Predeterminado sí
leapp_skip_upgrade: yes
# Cuánto tiempo esperar (en segundos) para reiniciar después de la actualización? Predeterminado 1200
leapp_reboot_timeout: 1200
roles:
- mrjoshuap.leapp
Licencia
GPL-2.0-o-later
Información del Autor
Joshua Preston es arquitecto de soluciones en Red Hat, especializado en tecnologías de Plataforma y Gestión.
An Ansible role that attempts an inplace upgrade of EL7 to EL8 using LEAPP
ansible-galaxy install mrjoshuap.leapp