Mam funkcję Ansible play dla PGBouncer, która wyświetla dane wyjściowe z modułu statystyk wbudowanego w PGBouncer.
Mój problem polega na tym, że kiedy Ansible drukuje dane wyjściowe do terminala, zmienia znaki nowej linii. Zamiast widzieć
----------
| OUTPUT |
----------
Widzę
----------\n| OUTPUT |\n----------
Czy ktoś wie, jak uzyskać odpowiedź na „ładny wydruk” wydruku?
sed -e 's/\\n/'$'\\\n/g'
. Również istotne: comicjk.com/20\n
pojawiają się w wyniku, więc możesz użyć tegomsg: "{{ result.stdout | regex_replace('\\n', '\n') }}"
Jeśli chcesz uzyskać wynik bardziej przyjazny dla człowieka, zdefiniuj:
Ułatwi to korzystanie z modułu wyjściowego debugowania (poprzednio nazwanego
human_log
), który pomimo swojej niefortunnej nazwy jest mniej gadatliwy i znacznie łatwiejszy do odczytania przez ludzi.Jeśli pojawi się błąd, że ten moduł nie jest dostępny, zaktualizuj Ansible lub dodaj ten moduł lokalnie, jeśli nie możesz zaktualizować ansible, będzie działał z wersjami ansible takimi jak 2.0 lub prawdopodobnie nawet 1.9.
Inną opcją konfiguracji jest dodanie
stdout_callback = debug
do pliku ansible.cfgźródło
ANSIBLE_STDOUT_CALLBACK=yaml
. Wolę, ponieważ ładnie formatuje,fail
msg
gdy udostępniam obiekt.Możesz użyć wtyczki oddzwaniania . Spowoduje to ponowne przeanalizowanie danych wyjściowych i można je łatwo włączać i wyłączać.
źródło
CallbackBase
zaimportowanym,from ansible.plugins.callback import CallbackBase
aby klasa callback działała.Znalezione w ten sposób na forum grupy Ansible Project:
Zasadniczo przekształcamy to w listę, dzieląc ją na nową linię, a następnie drukując tę listę.
źródło
ignore_errors: yes
do oryginalnej komendy, a później coś takiego jak `- assert: that:" test.rc == 0 ".Możesz użyć modułu pauzy :
Przechodzi bez wprowadzania danych, określając minuty lub sekundy, ale dane wejściowe użytkownika nie są rejestrowane.
Źródło: https://github.com/ansible/ansible/issues/17446#issuecomment-245391682
źródło
Jeśli chcesz zobaczyć go w formacie, który praktycznie naśladuje standardowe wyjście, możesz użyć
debug
wtyczki zwrotnej zdebug
modułem w Ansible 2.7+ w następujący sposób:źródło