2016-04-26 14 views
0

Das ist mein ansible Textbuch Anrufansible Python API aufgabenspezifische Statistiken

playbook_cb = callbacks.PlaybookCallbacks(verbose=utils.VERBOSITY) 
stats = callbacks.AggregateStats() 
runner_cb = callbacks.PlaybookRunnerCallbacks(stats, verbose=utils.VERBOSITY) 
pb = PlayBook(
    playbook=ANS_PLAYBOOK, 
    host_list=ANS_INVENTORY, 
    callbacks = playbook_cb, 
    runner_callbacks = runner_cb, 
    stats = runner_cb 
) 
results = pb.run() 
return results 

und die Ausgabe, die ich zur Zeit erhalten ist

{'device': {'unreachable': 0, 'skipped': 7, 'ok': 9, 'changed': 8, 'failures': 0}} 

, die ziemlich in Ordnung ist, aber ich möchte das erhalten taskspezifische Statistiken, damit wenn etwas schief geht, ich was und wo sehen kann.

Antwort

0

Ich habe versucht, Python CLI zu implementieren, die die Python-Bindings ansible verwendet. Ich scheiterte, weil sie Klassen, Optionen und Importhierarchie zwischen Nebenversionen ändern.

Die beste Quelle für eine Antwort auf Ihre Frage finden Sie in der entsprechenden ansible-playbook Binärdatei (jede neue Version ist anders) und versuchen Sie, die Anrufe zu finden, die Sie verwenden sollten.

PS: Das ist meine Frage mit ansible 1.5.4 api How to set vars into ansible inventory? und was Sie bei t müssen [ ‚Ausfälle‘] colorize('failed', t['failures'], None)),

Auch sollten Sie überprüfen, ob es etwas hilfreich in meinem nächsten Code Sniplet ist: How to get all tasks of ansible playbook limit to ansible_os_family?

Verwandte Themen