ansible \ .yml role element 不运行 roles/x/tasks/main.yml 的任何原因



我的工作与所有教程完全一样,没有错别字,甚至能够独自运行main.yml inside/角色/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   

使用您给出的命令行:

$ 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文件而不是告诉我们它?还是与我的特定版本的特定版本?无论如何,我将hosts: tagger更改为hosts: all,如下所示:

---
- name: Install / Upgrade tagger
  hosts: all
  roles:
    - tagger

i然后reran:

$ 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   

因此有两个修复程序。

最新更新