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-rpmsyrhel-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