我完全像所有教程一样,没有拼写错误,甚至可以单独运行main.yml / roles / x
但是当我运行应该调用它的游戏时 - 没有真正发生的事情
父
---
- name: Install / Upgrade tagger
hosts: tagger
roles:
- tagger
/roles/tagger/tasks/main.yml
---
- command: echo 1
需要说我在localhost中运行所有内容。 也尝试了
ansible-playbook -i "localhost" -c local tagger.yml
ansible-playbook -i" localhost" -c local tagger.yml
[WARNING]: Host file not found: localhost
[WARNING]: provided hosts list is empty, only localhost is available
PLAY [build tagger docker] *****************************************************
TASK [setup] *******************************************************************
ok: [localhost]
PLAY RECAP *********************************************************************
localhost : ok=1 changed=0 unreachable=0 failed=0
答案 0 :(得分:1)
使用您提供的命令行:
$ ansible-playbook -i "localhost" -c local tagger.yml
ERROR: Unable to find an inventory file, specify one with -i ?
明显更正(添加逗号):
$ ansible-playbook -i "localhost," -c local tagger.yml
PLAY [Install / Upgrade tagger] ***********************************************
skipping: no hosts matched
PLAY RECAP ********************************************************************
这仍然与您的输出不匹配,但它确实表明了问题。 localhost
永远不会tagger
。也许您使用的是hosts.ini
文件而没有告诉我们这个文件?或者是与我不同的特定版本的ansible?无论如何,我将hosts: tagger
更改为hosts: all
,如下所示:
---
- name: Install / Upgrade tagger
hosts: all
roles:
- tagger
然后我重申:
$ ansible-playbook -i "localhost," -c local tagger.yml
PLAY [Install / Upgrade tagger] ***********************************************
GATHERING FACTS ***************************************************************
ok: [localhost]
TASK: [tagger | command echo 1] ***********************************************
changed: [localhost]
PLAY RECAP ********************************************************************
localhost : ok=2 changed=1 unreachable=0 failed=0
所以有两个必要的修复。