Tengo un juego Ansible para PGBouncer que muestra algunos resultados de un módulo de estadísticas integrado en PGBouncer.
Mi problema es que cuando Ansible imprime la salida en el terminal, destruye las nuevas líneas. En lugar de ver
----------
| OUTPUT |
----------
Veo
----------\n| OUTPUT |\n----------
¿Alguien sabe cómo obtener Ansible para "imprimir bastante" la salida?
sed -e 's/\\n/'$'\\\n/g'
. También relevante: comicjk.com/20\n
aparecen en el resultado, por lo que podría usar estamsg: "{{ result.stdout | regex_replace('\\n', '\n') }}"
Si desea una salida más amigable para los humanos, defina:
Esto hará que ansible usar el módulo de salida de depuración (anteriormente nombrado
human_log
) a pesar de que su nombre desafortunado es menos detallado y mucho más fácil de leer para los humanos.Si recibe un error de que este módulo no está disponible, actualice Ansible o agregue este módulo localmente si no puede actualizar ansible, funcionará con más de versiones de ansible como 2.0 o probablemente 1.9.
Otra opción para configurar esto es agregar
stdout_callback = debug
a su ansible.cfgfuente
ANSIBLE_STDOUT_CALLBACK=yaml
. Lo prefiero porque se formatea bienfail
msg
cuando proporciono un objeto.Puede usar un complemento de devolución de llamada . Esto volverá a analizar su salida y se enciende y apaga fácilmente.
fuente
CallbackBase
importadofrom ansible.plugins.callback import CallbackBase
para que la clase de devolución de llamada funcione.Encontrado de esta manera en el foro del grupo Ansible Project:
Básicamente convertimos esto en una lista dividiéndola por una nueva línea y luego imprimiendo esa lista.
fuente
ignore_errors: yes
al comando original y luego algo como `- afirmar: eso:" test.rc == 0 ".Puede usar el módulo de pausa :
Continúa sin entrada definiendo minutos o segundos, pero luego la entrada del usuario no se captura.
Crédito: https://github.com/ansible/ansible/issues/17446#issuecomment-245391682
fuente
Si desea verlo en un formato que prácticamente imite la salida estándar, puede usar el
debug
complemento de devolución de llamada con eldebug
módulo en Ansible 2.7+ de esta manera:fuente