小编Tom*_*yer的帖子

使用Ansible Python API,如何在代码中访问任务级输出?

我使用像这样的剧本跑步者:

stats = callbacks.AggregateStats()                                           
playbook_cb = callbacks.PlaybookCallbacks(verbose=1)           
runner_cb = callbacks.PlaybookRunnerCallbacks(stats, verbose=1)                                 

pb = ansible.playbook.PlayBook(
... # basic info
)                                                                          
results = pb.run()
Run Code Online (Sandbox Code Playgroud)

结果变量包含如下输出:

{"status": 1, "result": {"127.0.0.1": {"unreachable": 0, "skipped": 0, "ok": 3, "changed": 2, "failures": 0}}}
Run Code Online (Sandbox Code Playgroud)

哪个好.但是我还需要像下面显示的dict一样的任务级别输出:

changed: [127.0.0.1] => {"changed": true, "name": "apache2", "state": "started"}
Run Code Online (Sandbox Code Playgroud)

我试着改变冗长,但这不是我想要的.

在挖掘之后,我设法将输出输出到日志文件,如下所示:

from ansible import constants as C
C.DEFAULT_LOG_PATH = 'project.log'
reload(callbacks)
Run Code Online (Sandbox Code Playgroud)

但我需要在我的代码中访问它.

python python-2.7 ansible ansible-playbook

5
推荐指数
1
解决办法
930
查看次数

标签 统计

ansible ×1

ansible-playbook ×1

python ×1

python-2.7 ×1