ich einen Rückruf wie so definiert haben:Rückrufe für generische Ansible-Läufe?
#!/usr/bin/env python2.7
# -*- coding: utf-8 -*-
import sys
import pprint
from ansible.plugins.callback import CallbackBase
class JSONPrettyPrintCallback(CallbackBase):
printer = pprint.PrettyPrinter(indent=4, stream=sys.stdout)
def log(self, host, category, data):
# one json blob to rule them all
self.printer.pprint({'host': host, 'category': category, 'data': data})
In meinem ansible Config habe ich den Pfad definiert:
[defaults]
callback_plugins = callback_plugins/
Allerdings, wenn ich mein Modul laufen, ich die Standard-ansible Ausgabe sehen nach wie vor :
10.0.0.1 | SUCCESS => {
...
}
ich es so renne:
ansible all -u myuser -m script -a 'path/to/script.py'
Gibt es etwas, was ich tun muss, um meine Ausgabe richtig zu formatieren?
zurückportiert werden sollte Scheint nur ansible-Textbuch und nicht ansible zu beeinflussen. –
@NaftuliTzviKay du hast Recht, ich war mir dessen nicht bewusst. Ich habe meine Antwort zu einer möglichen Ad-hoc-Lösung aktualisiert. –
Fehler in 'ansible', der stdout_callback nicht respektiert, wird in neueren Versionen behoben und rückportiert, z. 2.3.3 https://github.com/ansible/ansible/issues/16194#issuecomment-311340681 – geekQ