Comment voir stdout pour les commandes ansible-playbook? -v ne montre que la sortie ansible, pas les commandes individuelles. Ce serait formidable si je pouvais trouver le moyen de le faire immédiatement. Par conséquent, si quelque chose échoue ou est suspendu, je peux voir pourquoi.
par exemple
- name: print to stdout
action: command echo "hello"
serait imprimer
TASK: [print variable] ********************************************************
hello
Réponses:
Je pense que vous pouvez enregistrer le résultat dans une variable, puis imprimer avec le débogage.
la source
- debug: var=hello
. Parfois, cela est plus utile pour la sortie multiligne ou la sortie du module Ansible (plutôt quecommand
/shell
sortie).shell: java -version 2>&1
register
module, ou quoi que ce soit, ne produit pas d'objets avec lastdout
ou lastderr
variable définie .... il est donc vraiment dommage que nous n'obtenions pas la sortie par défaut: |Au lieu de stdout, je suggérerais d'utiliser stdout_lines . Pour une sortie multiligne, c'est beaucoup mieux, par exemple
donne
En ce qui concerne la sortie en temps réel à des fins de débogage, un rapport de bogue fermé, https://github.com/ansible/ansible/issues/3887&language=54672569 , explique les raisons pour lesquelles cela est impossible et ne sera pas implémenté.
la source
J'ai trouvé que l'utilisation du minimum
stdout_callback
avec ansible-playbook produisait un résultat similaire à celui utilisé avec ad hoc.Dans votre ansible.cfg (notez que je suis sous OS X alors modifiez le
callback_plugins
chemin en fonction de votre installation)Pour qu'une tâche comme celle-ci
Donne une sortie comme celle-ci, comme le ferait une commande ad-hoc
J'utilise ansible-playbook 2.2.1.0
la source