在Ansible中,如果在Python代码中使用print语句,则输出将不会传递回控制台。相反,它将被写入到Ansible的debug日志中。这是因为Ansible将stdout重定向到该日志文件。
因此,如果您想要将输出传递回控制台,请改用Ansible的调试模块。
下面是一个示例模块,使用调试模块代替print语句输出:
#!/usr/bin/python
from ansible.module_utils.basic import *
from ansible.module_utils.debug import *
def main():
module = AnsibleModule(
argument_spec=dict(
name=dict(required=True),
),
)
name = module.params['name']
debug(module, name)
module.exit_json(changed=False)
if __name__ == '__main__':
main()
在上面的示例中,我们使用了Ansible的调试模块,在输出时调用debug()函数。这将在控制台中显示输出信息,同时将数据写入调试日志文件。
上一篇:Ansible自定义插件