os_update

Название Роли

Эта роль будет применять обновления безопасности или полные патчи к машинам Red Hat, Ubuntu и Alpine.

Она может делать:

  • обновления безопасности или полные патчи
  • очищать старые версии ядра
  • определять необходимость перезагрузки и выполнять ее (см. переменные)

Поскольку я работаю только с AWX (v20.0.1), она тестировалась только с его (последними) версиями ansible.

Требования

Работающий интернет и правильная настройка репозиториев на машинах.

Поддерживаемые операционные системы:

  • RHEL, CentOS, Rocky, Alma

    • Версия: 6-9
  • Ubuntu LTS: 20.04, 22.04

  • Alpine: stable-latest

  • Debian должен работать, я использую только LTS дистрибутивы, которые могут иметь SLA.

  • Mint работает, но не имеет приоритета (личные нужды)

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

  • gather_facts отключен, так как сначала нужно определить, онлайн ли хост.
    Мы делаем это несколько раз, чтобы избежать проблем с загрузкой и подключением.
    Пожалуйста, посмотрите в папку tests.

Большинство переменных имеют аналог varname_default, который предназначен для переопределения значения по умолчанию на уровне плейбука.
Таким образом, вы можете определить поведение по умолчанию для всех целей, для которых вообще не определены переменные. Например: полное|обновление безопасности.

Пример:

  • значение по умолчанию os_update_reboot в defaults/main.yml установлено в True
  • в плейбуке вы определяете os_update_reboot_default как False
  • в инвентаре вы установили os_update_reboot в True для вашей группы хостов testing Таким образом, все ваши хосты избежат перезагрузки после патчирования, кроме вашей группы хостов testing... Voilà, умно, не правда ли?

Напоминаем: varname всегда является обязательным, varname_default просто переопределяет поведение по умолчанию роли.

  • os_update_level: security
    os_update_level: [none|security|full]

  • os_update_reboot: true
    os_update_reboot: [true|false]

  • os_update_remove_old_kernel: true
    os_update_remove_old_kernel: [true|false]

  • os_update_keep_kernel_nr: 2

Зависимости

Пока нет.

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

Проверьте директорию тестов на примеры

Лицензия

GPLv3

О проекте

Security or full patching, cleanup old kernel versions, detect needed reboots and boot them. All that is controlled by defaults in clever way :-)

Установить
ansible-galaxy install joe-speedboat/ansible.os_update
Лицензия
gpl-3.0
Загрузки
6133
Владелец
I don't do Linux for 20 years because I love Unix or consoles. OpenSource is what I love and want to do. moving together ... that fascinates me ...