我有几个顺序命名的组,我想在这些组上运行我的剧本。我可以指定确切名称或使用星号通配符,但不能指定数字范围。
Group Names
group1
group2
group3
剧本中的
-hosts: "{{ var_hosts }}"
示例:
ansible-playbook -i inventory tasks/myplaybook.yml -e 'var_hosts=group1'
==>有效
ansible-playbook -i inventory tasks/myplaybook.yml -e 'var_hosts=group*'
==>通过选择所有名为“ groups *”的组来工作
ansible-playbook -i inventory tasks/myplaybook.yml -e 'var_hosts=group[1:3]'
==>不起作用。我收到错误消息:
'[WARNING]: Could not match supplied host pattern, ignoring: group'
我的Google搜索未找到任何文档,详细说明了组名中哪些模式是合法的。有没有办法在组名中使用数字范围?
答案 0 :(得分:0)
Patterns不是 regex 。
您可以通过在组名称中添加下标来引用组中的主机:
webservers [0:2]#== webservers [0],webservers [1]
...