2016-04-19 81 views
13

我有一个错误,当我推出一个剧本,但我不发现为什么....Ansible - 错误!现场“主人”是必需的,但没有设置

错误!现场 '主人' 是必需的,但没有设置

还有就是我main.yml:

--- 
- hosts: hosts 
- vars: 
    - elasticsearch_java_home: /usr/lib/jmv/jre-1.7.0 
    - elasticsearch_http_port: 8443 

- tasks: 
    - include: tasks/main.yml 

- handlers: 
    - include: handlers/main.yml 

而且我的/ etc/ansible /主机:

[hosts] 
10.23.108.182 
10.23.108.183 
10.23.108.184 
10.23.108.185 

当我测试一个ping,一切都很好:

[[email protected] elasticsearch]# ansible hosts -m ping 
10.23.108.183 | SUCCESS => { 
    "changed": false, 
    "ping": "pong" } 
10.23.108.182 | SUCCESS => { 
    "changed": false, 
    "ping": "pong" } 
10.23.108.185 | SUCCESS => { 
    "changed": false, 
    "ping": "pong" } 
10.23.108.184 | SUCCESS => { 
    "changed": false, 
    "ping": "pong" } 

请帮帮我:) Regards,

+0

如果你改变了'hosts'组的名称,例如'instances'会发生什么? – ydaetskcoR

回答

12

您的操作手册中有语法错误。

--- 
- hosts: webservers 
    vars: 
    http_port: 80 
    max_clients: 200 

参见:https://docs.ansible.com/ansible/playbooks_intro.html

+5

换句话说,所有东西都需要在“主机”下缩进,而不是在同一层。 – tedder42

+0

谢谢,这是我的剧本中的一个错误。 –

+0

不客气。如果你可以将它标记为解决方案,那将是非常好的。 –

0
--- 
-hosts: all 

    remote_user: root 

    tasks: 
+0

语法不正确。在连字符和后面的任何声明之间应该有一个空格。例如 - 主持人:全部 – Steven

相关问题