Главная

Thursday, 13 August 2020

Клиент командной строки Tower-cli для AWX.

Всем привет.

Как запустить задание, используя только программный интерфейс AWX?

Конечно, можно было бы ограничиться лишь инструментом cURL для выполнения этих и других операций из командной строки по протоколу НТТР, но в Апsible имеется намного более удобный инструмент: Tower-cli.

В отличие от приложения Апsible Тower, клиент командной строки Tower-cli является открытым программным обеспечением и доступен в репозитории GitHub на условиях лицензии АрасНе 2.0 и совместим с AWX.

Чтобы установить Tower-cli, воспользуемся диспетчером пакетов для Руthоп рiр3.

Клиента tower-cli можно установить на уровне системы, если имеются привилегии гооt, или, как в данном случае, для локального пользователя:

sudo pip3 install ansible-tower-cli

Если установка выполняется с привилегиями обычного пользователя, клиент будет установлен в каталог ~/.lосаl/bin/. 

Не забудьте добавить путь ~/.lосаl/bin в переменную окружения РАТН.

Прежде чем взаимодействовать с АРI, нужно настроить параметры учетной записи доступа к AWX:

# tower-cli config host http://192.168.3.151

# tower-cli config username admin

# tower-cli config password pAssw0rd

# tower-cli config verify_ssl False

Проверка конфигурации:

# tower-cli config

Первое, что нам наверняка понадобится автоматизировать, это запуск задания из шаблона после успешной сборки на сервере непрерывной интеграции.

Клиент tower-cli существенно упрощает эту задачу. Достаточно лишь знать идентификатор или имя шаблона задания, которое требуется запустить. 

Чтобы узнать имя шаблона, можно воспользоваться ключиком list:

# tower-cli job_template list

Отыскав требуемый шаблон, его можно запустить, указав действие launch и аргумент --job-template плюс имя или идентификатор выбранного шаблона.

tower-cli job launch --job-template 9

Для мониторинга выполняющегося задания команда tоwег-сli jоЬ поддерживает действие monitor с аргументом - идентификатором задания. 

Эта команда запустится и будет ждать завершения задания:

tower-cli job monitor 78

Используя немного волшебства командной строки и утилиту jq можно объединить запуск и мониторинг задания в одну команду:

tower-cli job monitor $(tower-cli job launch --job-template 9 | jq '.id')

С помошью tower-cli можно лекго выполннть бекап AWX в разрезе Credentials, Organizations, Users, Hosts и Templates

в формате JSON:

# tower-cli receive --all > 27032018.json

Восстановление из бекапа:

# tower-cli send  27032018.json

На сегодня все. Успехов.

No comments:

Post a Comment

А что вы думаете по этому поводу?