通过 API 调用 ansible 时如何指定回调?
我有一个database_write.py
ansible 2.0.0.2 的回调插件,它在运行时会登录到数据库:
ansible-playbook -i inventory.txt playbook.yml # callback is fired ok
这行得通,因为在我的 $PWD 中我有ansible.cfg
这条线:
callback_plugins = ./src/callback
现在我正在尝试使用 python API 执行我的剧本和我的回调。我基本上复制了 ansible-playbook cli 工具的功能
# based on https://github.com/ansible/ansible/blob/v2.0.0.2-1/lib/ansible/cli/playbook.py
pbex = PlaybookExecutor(playbooks=['../playbook.yml'],
inventory=inventory,
variable_manager=variable_manager,
loader=loader,
options=options,
passwords=passwords)
results = pbex.run()
这可以很好地执行剧本,但不会触发回调。
我想在使用 python API 时,我的ansible.cfg
文件没有被考虑在内?
如何将我的回调插件指定给 PlaybookExecutor?
(我发现的大多数文档都适用于 < 2.0 的 ansible 版本)
先感谢您!