使用ansible v2.0 api怎么指定hosts
我想用python ansible api操作服务器,但是想要操作的服务器并不确定,请问怎么指定hosts。代码类似这样
play_source = dict(
name = "Ansible Play",
hosts = hosts,
gather_facts = 'no',
tasks = [
dict(action=dict(module=module))
]
)
play = Play().load(play_source, variable_manager=variable_manager, loader=loader)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
如果hosts是不确定的话,可以用动态inventory来实现。
而且hosts应该是支持正则匹配的吧~
可能是我描述不清吧,楼上的回答跟我的问题并没有关系。。。
我的意思是ansible2.0的api似乎不能像以前一样传入一个hosts列表,只能指定某个host文件里的某个组(或者全部组),但是我无法预先写好一个hosts文件和组,因为要操作哪些服务器是在web上输入的。我现在解决的方法是对于传入的hosts列表,遍历后写在一个临时文件里,Inventory指定这个临时文件即可。
还有一个问题,怎么指定 2.1 版本的 ansible API 中的 hosts,直接指定的话报 OSError: [Errno 24] Too many open files
play_source = dict(