ansible-playbook - 限制不使用重叠的主机别名

时间:2016-07-28 09:26:59

标签: ansible ansible-playbook

我遇到限制Ansible只能与特定主机一起工作的问题

我的库存文件如下所示:

[staging-docker-containers]
app1 ansible_host=host.domain.com ansible_ssh_port=2222  
app2 ansible_host=host.domain.com ansible_ssh_port=2223  
app3 ansible_host=host.domain.com ansible_ssh_port=2224  

[staging-other-servers]
app1 ansible_host=host.domain.com ansible_ssh_port=2225  
app2 ansible_host=host.domain.com ansible_ssh_port=2226  
app3 ansible_host=host.domain.com ansible_ssh_port=2227  

当我运行以下命令

ansible-playbook --limit="staging-docker-containers:app3"  my-playbook.yml -i staging 

它会忽略limit命令并尝试连接到staging-other-servers组下的app3,而不是staging-docker-containers组下的app3。

我做错了吗?

1 个答案:

答案 0 :(得分:1)

您可以在不同的组中拥有相同的主机 但是你可以在同一个名字下拥有不同的主机 如果在不同的地方为同一主机定义相同的主机变量,则后者具有优先权 所以你的库存实际上变成了:

[staging-docker-containers]
app1
app2
app3

[staging-other-servers]
app1 ansible_host=host.domain.com ansible_ssh_port=2225
app2 ansible_host=host.domain.com ansible_ssh_port=2226
app3 ansible_host=host.domain.com ansible_ssh_port=2227