Сообщество Ansible постоянно радует новым контентом – плагинами и модулями – создавая и много новой работы для тех, кто занят сопровождением Ansible, поскольку новый код нужно максимально быстро интегрировать в репозитории. Уложиться в сроки получается не всегда и запуск некоторых вполне готовых к выпуску продуктов откладывается до следующей официальной версии Ansible Engine. До недавнего времени у конечного пользователя был только один способ получения нового контента Ansible – вместе с новой версией Ansible Engine.

Для устранения неудобства сообщество Ansible начало работу над более гибкими вариантами создания и получения контента.
Red Hat Ansible Engine 2.8: на пути к новым методам обработки Ansible-контента
В ответ на запрос пользователей в Ansible Engine 2.8 появились изменения, касающиеся обработки контента, не входящего в состав официального релиза. Эти изменения позволят реализовать новый способ доставки контента пользователям, который не будет зависеть от сопровождающих Ansible при управлении как контентом Ansible, так и кодом самой платформы.
Планируется, что в следующих релизах Создатели (Creators) контента смогут поставлять его в виде специальных пакетов, так называемых Коллекций (Collection), которые можно будет устанавливать в соответствующее для исполнения место на главном узле Ansible (control node) или на управляемом узле (managed node). Создатель коллекций будет непосредственно в пакете прописывать детали исполнения с помощью ролей и плейбуков. Благодаря вышеупомянутым изменениям в Ansible Engine, коллекции станут одним из инструментов, которые позволят отвязать выпуск контента от выпуска официальных версий Ansible Engine.
Новая конструкция Become
Конструкция Become появилась уже давно, но начиная с версии 2.8 слово BECOME по умолчанию используется в Ansible Engine для запроса пароля при повышении привилегий (sudo-привилегии на *nix-системах или enable-режим на сетевых устройствах). Иначе говоря, теперь BECOME – это стандартный инструмент повышения полномочий, который уже сам разбирается с целевой системой.
Вот как выглядит пример его использования:
ansible-playbook --become --ask-become-pass site.yml
BECOME password:
Кроме того, в Ansible Engine 2.8 появился и плагин BECOME, который работает как doas на Linux и как runas на Windows, и позволяет выполнять действия от имени заданного пользователя. Для повышения привилегий на сетевых устройствах используется become-плагин enable.
Поиск Python-интерпретатора
Вам, возможно, доводилось сталкиваться с такой ошибкой:
/usr/bin/python: bad interpreter: No such file or directory
Дело в том, что в предыдущих версиях Ansible Engine по умолчанию считалось, что основной (используемый по умолчанию) Python-интерпретатор расположен в папке /usr/bin/python. Начиная с версии 2.8 Ansible ищет интерпретатор на каждой целевой системе, сначала сверяясь с таблицей путей и имен исполняемого файла основного Python-интерпретатора в различных дистрибутивах, а затем используя упорядоченные списки резервных интерпретаторов (fallback list), подробнее смотрите в .
Retry-файлы больше не создаются по умолчанию
Вы давно искали на диске файлы .retry? Если вы давно используете Ansible, то их явно много, и они только занимают полезное место. Начиная с версии 2.8, Ansible Engine по умолчанию больше не создает эти файлы (что можно отменить, отредактировав используемый по умолчанию файл ansible.cfg).
Обновленный Play Recap
Выдержка из :
Play Recap теперь считает задачи (tasks) со статусом ignored и rescued, а также ok, changed, unreachable, failed и skipped, благодаря двум новым счетчикам статистики в callback-плагине default. Failed-задачи, для которых был установлен флаг ignore_errors: yes, учитываются как ignored. Failed-задачи, для которых затем была отработана секция rescue, учитываются как rescued. Обратите внимание, что в отличие от предыдущих версий Ansible, rescued-задачи больше не учитываются как failed.
А в табличке Play Recap по итогам выполнения плейбука у хостов появились дополнительные столбцы skipped, rescued и ignored:

Облака и контейнеры
В версии 2.8 реализованы улучшения и дополнения в облачных и контейнерных модулях для работы с Amazon Web Services, Microsoft Azure, Google Cloud, Digital Ocean, и . Также стоит отметить, что файлы TOML теперь можно использовать в качестве inventory-источника.
Paramiko
Пользуетесь Red Hat Ansible Network Automation? Ansible Engine 2.8 больше не содержит paramiko и не зависит от него. По умолчанию Ansible Engine использует ssh. Если вам нужен paramiko, установить его можно командой pip install paramiko
Если вам нужна поддержка по использованию paramiko в рамках подписки Red Hat, обратитесь к статье базы знаний .
Таким образом, новая версия Red Hat Ansible Engine пополнилась внушительным списком улучшений и изменений, подробнее с которыми можно ознакомиться .
Red Hat Ansible Tower 3.5: больше автоматизации
С конца мая доступна и новая версия Red Hat Ansible Tower 3.5, предлагающая сразу несколько серьезных улучшений для автоматизации, о них мы и поговорим, если вы еще не успели проверить сами.
Итак, сначала ключевые:
- Поддержка Red Hat Enterprise Linux 8;
- Поддержка внешних хранилищ учетных данных с использованием соответствующих плагинов;
- Поддержка become-плагинов в Ansible Tower.
Кроме того, в новой версии исправлено более 160 зарегистрированных ошибок и неполадок.
Поддержка Red Hat Enterprise Linux 8
Мы часто повторяем, что Red Hat Enterprise Linux (RHEL) – это надежный и универсальный фундамент для построения, например, гибридного облака. Ansible Tower 3.5 (как и Ansible Engine 2.8) обеспечивает управление хостами RHEL 8, а также может запускаться на платформе Red Hat Enterprise Linux 8 в качестве управляющего узла системы Red Hat Ansible Automation.
Внешние хранилища учетных данных
Помимо встроенного хранилища учетных данных, Ansible Tower 3.5 теперь может использовать и внешние хранилища учетных данных, ведь иногда требуется сделать учетные данные более доступными для распределенных приложений. Поэтому новая версия Ansible Tower может напрямую работать с различными решениями для хранения паролей и ключей, например:
- HashiCorp Vault;
- CyberArk AIM;
- CyberArk Conjur;
- Microsoft Azure Key Vault.
Подробности работы с этими системами приведены в документах .
Новые плагины для работы с inventory и повышения привилегий
Следуя за развитием Ansible Engine, Ansible Tower 3.5 предлагает новые inventory-плагины и плагин для работы с новым средством повышения полномочий.
Благодаря Ansible Tower теперь может использовать в качестве inventory-источника платформы Microsoft Azure, Google Cloud Platform и Red Hat OpenStack Platform, что обеспечивает работу с гибридными облачными средами «из коробки».
Новый плагин Privilege Escalation обеспечивает комплексную обработку задач повышения привилегий, предлагая гораздо больше гибкости и контроля по сравнению с традиционными sudo и su.
Переработанный UI-интерфейс списков
В новой версии стала гораздо удобнее работа со списками. Их можно раскрывать для отображения подробностей и сворачивать, чтобы вывести на экран больше элементов. Списки также можно сортировать по различным полям и фильтровать практически по любому свойству.
Улучшенные метрики
У метрик появились так называемые endpoint (/api/v2/metrics), благодаря которым Ansible Tower теперь легко мониторится с помощью Prometheus и других подобных систем, причем можно одновременно использовать сразу несколько систем, в том числе облачных.
Ansible Tower 3.5 уже доступен для загрузки, может быть установлена как локально, так и через Vagrant или Amazon AMI.
Вебинары по Ansible: прокачайте свои навыки
Постоянно пополняется хранилище вебинаров по теме:
4 июня прошел вебинар , посвященный новым и улучшенным функциям Red Hat Ansible Tower и Red Hat Ansible Engine. Скоро появится в хранилище.
На русском языке доступен.
Источник: habr.com
