Python API Ansible详细设置

时间:2017-10-11 17:15:50

标签: python python-2.7 ansible ansible-2.x

我尝试使用Python API从以下站点设置Ansible。

https://serversforhackers.com/c/running-ansible-2-programmatically

手头的问题如下: 如何在ansible中以编程方式更改详细程度。以下代码似乎无法调整输出的详细程度。

# Set global verbosity
self.display = Display()
self.display.verbosity = self.options.verbosity
# Executor appears to have it's own 
# verbosity object/setting as well
playbook_executor.verbosity = self.options.verbosity

到目前为止,除了冗长设置外,它已经非常成功(ansible 2.3.0)。由于代码在网站上,我不会在这里发布我的代码,因为它完全相同。我试图检查ansible的源代码,但似乎很难查看如何使用这些选项。 (我查看了display.py,playbook_executor.py,play_context.py等...)

注意:对于使用相同代码的用户,请将skip_tags和标记设置为''它可以在版本中使用> 2.2.0。

1 个答案:

答案 0 :(得分:1)

使用Ansible API 2时,如何应用详细程度是一个非常脏的黑客:

import __main__ as main
from ansible.utils.display import Display


display = Display(verbosity=4)
setattr(main, 'display', display)

确认在Ansible v2.4工作。

此答案基于https://www.programcreek.com/python/example/95763/ansible.utils.display.Displayhttps://stackoverflow.com/a/47639200/4533625