2016-04-19 47 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

相關問題