Ansible Playbook无法正确解析变量

时间:2015-11-18 08:21:15

标签: ansible ansible-playbook

我使用ansible并且在运行playbook时遇到问题

site.yml:

---
- name: Test Ansible Playbook
  hosts: '{{ myhosts }}'
  sudo: no

  roles:
    - myRole

myRole文件:

---
- name: Node script
  hosts: '{{ myhosts }}'
  sudo: no

  tasks:
   - name: Start Tomcat
     service: name=tomcat state=started enabled=yes

当我尝试运行命令时:ansible-playbook "-e 'myhosts=myHostName'" site.yml

我收到以下错误:

ERROR: hosts is not a legal parameter in an Ansible task or handler

1 个答案:

答案 0 :(得分:2)

  

错误:主机不是Ansible任务或处理程序中的合法参数

这就是问题所在。在角色的任务文件中,您可以定义任务 - 没有别的。执行这些任务的主机是在剧本中定义的。

您的任务文件应仅包含以下内容:

---

- name: Start Tomcat
  service: name=tomcat
           state=started
           enabled=yes

...