如何使用Ansible pull方法覆盖所有主机?

时间:2018-02-05 15:06:51

标签: ansible ansible-inventory ansible-pull

我知道可以将Ansible变成拉结构:https://docs.ansible.com/ansible/2.4/ansible-pull.html

我遇到的麻烦是Ansible似乎还想管理库存。因此,使用脚本来提取存储库:

ansible-pull -U <repository> [options] [<playbook.yml>]

我收到以下警告:

[WARNING]: Could not match supplied host pattern, ignoring: XYZA

当运行实际的剧本时,我收到了这条消息:

PLAY [all] ********************************************************************************************************
skipping: no hosts matched

默认情况下,Ansible将在/etc/ansible/hosts文件中搜索主机。但是现在它正在拉动,我认为它不应该关心主机。我知道我也可以将-i参数的主机指定为数组,例如:

ansible-pull -U git@github.com/somerepo -i localhost, playbook.yml

但在我的情况下,有很多主机,我只想对所有从该存储库中提取的所有主机运行该剧本。有没有办法做到这一点,还是我需要动态指定每个主机单独的脚本/库存?

编辑:我也尝试了-i all-i all,,但似乎对我不起作用。

1 个答案:

答案 0 :(得分:0)

这似乎只是一个警告,而不是一个错误,所以Ansible pull应该仍然运行。使用库存localhost运行它可以解决问题: ansible-pull -U git@github.com/somerepo -i localhost, playbook.yml