leapp

ansible-leapp

Эта роль Ansible пытается выполнить автоматическое обновление на месте для систем на базе EL, преимущественно Red Hat Enterprise Linux.

Она выполняет следующие основные задачи:

  • Проверка предварительных условий и требований
  • Подготовка системы к обновлению
  • Генерация отчета о предстоящем обновлении
  • Устранение общих проблем при обновлении (по умолчанию отключено)
  • Выполнение обновления (по умолчанию отключено)
  • Проверка состояния после обновления (по умолчанию отключено)

По умолчанию эта роль не выполнит фактическое обновление. Она предназначена для подготовки системы и генерации отчета о предстоящем обновлении, который должен быть рассмотрен. Если вы хотите рискнуть, вы можете также попробовать выполнить обновление.

TODO

  • Реализовать проверку после обновления (tasks/verify.yml)

Ссылки

Я использовал следующие документы в качестве справки:

Переменные роли

Переменные, которые изменяют поведение этой роли, объявлены в defaults/main.yml

# Укажите список идентификаторов репозиториев, которые существуют в /etc/yum.repos.d
# По умолчанию []
leapp_custom_repositories: []

# Укажите устройство grub, обычно не требуется для большинства установок
leapp_grub_device: '/boot'

# Пропустить Red Hat Subscription Manager? По умолчанию нет
leapp_skip_rhsm: no

# Пропустить проверку предварительных условий? По умолчанию нет
leapp_skip_validate: no

# Пропустить подготовительные задачи? По умолчанию нет
leapp_skip_prepare: no

# Пропустить установку cockpit? По умолчанию нет
leapp_skip_prepare_cockpit_install: no

# Пропустить установку пакетов? По умолчанию нет
leapp_skip_prepare_package_install: no

# Пропустить фактические обновления пакетов? По умолчанию да
leapp_skip_prepare_update: yes

# Пропустить перезагрузку после изменений в обновлениях пакетов? По умолчанию нет
leapp_skip_prepare_update_reboot: no

# Пропустить leapp предустановку? По умолчанию да
leapp_skip_preupgrade: yes

# Пропустить удаление предыдущих отчетов? По умолчанию нет
leapp_skip_preupgrade_cleanup: no

# Пропустить устранение общих проблем? По умолчанию да
leapp_skip_remediate: yes

# Пропустить фактическое обновление leapp? По умолчанию да
leapp_skip_upgrade: yes

# Как долго ждать (в секундах) перезагрузки после обновления? По умолчанию 1200
leapp_reboot_timeout: 1200

Зависимости

Для использования этой роли нет зависимостей, однако эта роль предполагает, что у вас реализована стандартная рабочая среда, которая предоставляет:

  • Red Hat Enterprise Linux 7
  • Система с правами, предоставленными RHSM или Satellite
  • Конфигурированные и включенные репозитории для последних обновлений, в частности для rhel-7-server-rpms и rhel-7-server-extras-rpms

Кроме того, вы должны скачать дополнительные необходимые файлы данных (изменения пакетов RPM и отображение репозиториев RPM), прикрепленные к Статье базы знаний, и поместить их в директорию 'files' в той же директории, что и плейбук с этой ролью.

Пример плейбука

Следующий плейбук выполняет стандартные действия до фактического обновления:

---

- name: Выполнить обновление системы EL на месте
  hosts: all
  become: yes

  vars:
    # Укажите список идентификаторов репозиториев, которые существуют в /etc/yum.repos.d
    # По умолчанию []
    leapp_custom_repositories: []

    # Пропустить Red Hat Subscription Manager? По умолчанию нет
    leapp_skip_rhsm: no

    # Пропустить проверку предварительных условий? По умолчанию нет
    leapp_skip_validate: no

    # Пропустить подготовительные задачи? По умолчанию нет
    leapp_skip_prepare: no

    # Пропустить установку cockpit? По умолчанию нет
    leapp_skip_prepare_cockpit_install: no

    # Пропустить установку пакетов? По умолчанию нет
    leapp_skip_prepare_package_install: no

    # Пропустить фактические обновления пакетов? По умолчанию да
    leapp_skip_prepare_update: yes

    # Пропустить leapp предустановку? По умолчанию нет
    leapp_skip_preupgrade: no

    # Пропустить удаление предыдущих отчетов? По умолчению нет
    leapp_skip_preupgrade_cleanup: no

    # Пропустить фактическое обновление leapp? По умолчанию да
    leapp_skip_upgrade: yes

    # Как долго ждать (в секундах) перезагрузки после обновления? По умолчанию 1200
    leapp_reboot_timeout: 1200

  roles:
    - mrjoshuap.leapp

Лицензия

GPL-2.0-or-later

Информация об авторе

Джошуа Престон — архитектор решений в компании Red Hat, специализирующийся на платформах и технологиях управления.

О проекте

An Ansible role that attempts an inplace upgrade of EL7 to EL8 using LEAPP

Установить
ansible-galaxy install mrjoshuap/ansible-leapp
Лицензия
gpl-2.0
Загрузки
89
Владелец
I am a passionate open source individual. I also love me some automation, embedded use-cases and a fill of happy source codes.