我对Ansible-Playbook感到困惑,如果我在main.yml
(任务)中使用include&标记,将无法正常工作。
命令:
ansible-playbook -i digitalocean/inventory.ini ans-graylog.yml --tags "insglog"
PLAY [Setup Graylog] **************************
TASK [Gathering Facts] ************************
ok: [xxx.xxx.xxx.xxx]
PLAY RECAP ************************************
xxx.xxx.xxx.xxx : ok=1 changed=0 unreachable=0 failed=0
如果我删除--tags "inslog"
,它将成功。所有任务将正常运行。
main.yml (Tasks)
---
- include: gray.yml tags=insglog
- include: fbeat.yml tags=insfbeat
当我在--tags="inslog"
命令中使用ansible-playbook
时,gray.yml
未执行。
我已经尝试过include_task
,import
,import_task
。但是,我得到了相同的结果。
您能帮我解决这个问题吗?
答案 0 :(得分:4)
tags
不是模块的参数,而是任务的参数。
您应该在任务级别指定tags
:
---
- include: gray.yml
tags: insglog
- include: fbeat.yml
tags: insfbeat
说明
您的示例使用Ansible表示法(等号),该表示法翻译为YAML:
- include: gray.yml
tags: insglog
- include: fbeat.yml
tags: insfbeat
这是不正确的; tags
声明将被忽略。