LINUX.ORG.RU

Отфильтровать вывод ansible

 , , ,


1

3

Друзья!

Запускаю ansible, через rundeck - всё прекрасно! Но, не хочу городить множество ролей, по сему, вывод ansible выдаёт много лишних, пропущенных шагов, что затрудняет просмотр вывода в rundeck:

Вывод от запуска ansible, примерно такой:

PLAY [alfresco] *************************************************************** 
			
GATHERING FACTS *************************************************************** 
ok: [productive]
ok: [test]
ok: [dev1]
ok: [dev2]
			
TASK: [alfresco | create symlink for tomcat services] ************************* 

TASK: [alfresco | stop alfresco on a target host] *****************************
changed: [dev1]

TASK: [alfresco | run xxxx on a target host] *****************************

Задача:

Используя pipe, вывод в одну строку опустить. Показывать только две и более строки подряд. Чтобы не лезло всякого мусора от skipped task.

P.S. сам ansible такого не умеет. Такое только в ansible Tower есть.

★★★★★

В каком виде ты хочешь получить вывод?

Вообще лучше распарсивать вывод логстэшем и писать его куда-нибудь в elasticsearch.

Difrex ★★★★
()
sed 's/^\s*$//' | awk 'BEGIN { RS="\n\n"; FS="\n" } NF > 1 && $NF != "" { print $0"\n" }'
salsa
()

То, что ты называешь мусором на самом деле полезная информация - тебе показывают что этот таск обрабатывался, просто задача не выполнялась на хостах (кстати, ты можешь видеть и скипнутые хосты, http://docs.ansible.com/ansible/intro_configuration.html#display-skipped-hosts).

Какая конечная цель? Может если тебе нужны «красивые отчеты» то стоит использовать коллбэки?

// Про мусор - это ты еще (возможно) не сталкивался с великолепным выводом «with_items(with_items(wint_item<...>))» когда item будет занимать пол экрана при отсутствии вывода, в общем в твоем варианте еще не все плохо =)

alozovskoy ★★★★★
()
Ответ на: комментарий от alozovskoy

Про display_skipped_hosts - вестимо знаю. Это всё не то...

Ну есть у меня java разработчик, есть js разработчик, мне надо сделать так, чтобы они разворачивали своё творчество на своих тестах, потом один разработчик, забирал результаты другого и тестил их в третьем месте. Только потом в продуктивное окружение. Всё это делать руками, уже надоело делать решительно всем. Появился свой git, куда они стали комитить, и всё такое. Потом стали думать, что всё же помимо ихних программ, есть репозитарий контента, который и собственно обслуживают ихние программки, соот-но репозиторий надо тоже им синхронизировать из продуктивных систем, в разработку.

Ну чё, взяли ansible, я потыкал - круто! Очень круто! Работает. Но довольно быстро пришло понимание, что изучать ansible - разработчики не будут. Ибо, им все вот эти ваши kerberos, деплой jarников и всего прочего - не упал особо. Соот-но, появилась потребность в кнопке «сделать вот это», с минимальными параметрами. Посмотрел ansible tower - круто. Но дорого. Ну чё, взял rundeck (думал между rundeck и jenkins). Ну всё в целом круто. Но ansible, сыплет в log output много всяких глупостей. А хотелось, бы, чтоб он сыпал только то, что касается по делу, относительно этой кнопки.

Как-то так.

DALDON ★★★★★
() автор топика
Ответ на: комментарий от DALDON

У себя я набросал небольшую вебморду, которая парсит логи, пишущиеся через коллбэки - это оказалось гораздо проще, чем парсить консольный output. Сейчас я и сам не всегда смотрю консольный вывод. А юзкейсы, в общем, похожие.

alozovskoy ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.