Como vejo stdout para comandos ansible-playbook? -v mostra apenas saída ansible, não os comandos individuais. Seria ótimo se eu pudesse descobrir como fazer isso imediatamente, então, se algo falhar ou travar, eu posso ver o porquê.
por exemplo
- name: print to stdout
action: command echo "hello"
imprimiria
TASK: [print variable] ********************************************************
hello
Respostas:
Eu acho que você pode registrar o resultado em uma variável e depois imprimir com depuração.
fonte
- debug: var=hello
. Às vezes, isso é mais útil para saída de múltiplas linhas ou saída do módulo Ansible (em vez decommand
/shell
output).shell: java -version 2>&1
register
módulo, ou o que quer que seja, não produz objetos com a variávelstdout
oustderr
definida .... portanto, é muito ruim que não apenas obtenhamos a saída por padrão: |Em vez de stdout , sugiro usar stdout_lines . Para saída multilinha, isso é muito melhor, por exemplo
dá
Em relação à saída em tempo real para fins de depuração, há um relatório de bug fechado https://github.com/ansible/ansible/issues/3887#issuecomment-54672569 discutindo os motivos pelos quais isso não é possível e não será implementado.
fonte
Descobri que usar o mínimo
stdout_callback
com o ansible-playbook produzia resultados semelhantes ao uso ad-hoc ansible.No seu ansible.cfg (Observe que estou no OS X, modifique o
callback_plugins
caminho para se adequar à sua instalação)Para que uma tarefa como esta
Dá saída assim, como um comando ad-hoc
Estou usando o ansible-playbook 2.2.1.0
fonte