¿Cómo veo stdout para los comandos ansible-playbook? -v solo muestra resultados ansibles, no los comandos individuales. Sería genial si pudiera descubrir cómo hacer esto de inmediato, por lo que si algo falla o se cuelga, puedo ver por qué.
p.ej
- name: print to stdout
action: command echo "hello"
imprimiría
TASK: [print variable] ********************************************************
hello
Respuestas:
Creo que puede registrar el resultado en una variable, luego imprimir con depuración.
fuente
- debug: var=hello
. A veces, esto es más útil para la salida multilínea o la salida del módulo Ansible (en lugar decommand
/shell
output).shell: java -version 2>&1
register
módulo, o lo que sea, no produce objetos que tengan el conjunto de variablesstdout
ostderr
... así que es realmente malo que no solo obtengamos la salida por defecto: |En lugar de stdout , sugeriría usar stdout_lines . Para salida multilínea, esto es mucho mejor, por ejemplo
da
Con respecto a la salida en tiempo real para fines de depuración, hay un informe de error cerrado https://github.com/ansible/ansible/issues/3887#issuecomment-54672569 que discute las razones por las que esto no es posible y no se implementará.
fuente
Descubrí que usar el mínimo
stdout_callback
con ansible-playbook dio un resultado similar al uso de ad-hoc ansible.En su ansible.cfg (tenga en cuenta que estoy en OS X, así que modifique la
callback_plugins
ruta para adaptarla a su instalación)Para que una tarea como esta
Da resultados como este, como lo haría un comando ad-hoc
Estoy usando ansible-playbook 2.2.1.0
fuente