2017-06-01 1 views
1

Ich bin neu bei Ansible, also nehme ich an, dass ich einen dummen Fehler mache, aber wenn ich versuche, ein Playbook mit Rollen für eine Gruppe von Hosts zu starten, sieht Ansible keine Hosts in einigen Gruppen. Insbesondere unter anderemAnsible Inventardiskrepanz

Inventar hat die folgende Gruppe:

[master] 
clm01 

Es scheint, OK zu arbeiten, mit Ad-hoc-Befehle:

:~/ansible/splunk# ansible master -i hosts -m ping -u USERNAME 
clm01 | SUCCESS => { 
    "changed": false, 
    "ping": "pong" 
} 

aber wenn ich versuche, die folgende ausführen können, Ansible kann keine Hosts sehen:

- name: initialize master 
    hosts: master 
    remote_user: USERNAME 
    become: yes 
    roles: 
    - cluster_master 
[...] 

ansible-playbook site.yml --ask-sudo-pass --list-hosts 
[...] 
    play #2 (master): initialize master TAGS: [] 
    pattern: [u'master'] 
    hosts (0): 
[...] 

Einige der Gruppen im Inventar arbeiten w Wenn andere Spiele in derselben Datei definiert sind, würde ich annehmen, dass auf meiner Seite ein Syntaxfehler vorliegt. Ich habe auch versucht, Gruppennamen zu ändern, in der Hoffnung ich bin mit einem reservierten Namen usw.

Antwort

0

Es werden keine Hosts angezeigt, weil Sie im zweiten Befehl -i hosts Parameter weggelassen haben.

Führen Sie die folgenden Schritte aus:

ansible-playbook site.yml -i hosts --ask-sudo-pass --list-hosts 
+0

Einige der Gruppen arbeiteten gut, was mich diese Antwort zweifeln, aber dann dachte ich, dass ich nichts zu verlieren. Es stellt sich heraus, dass wenn ich angefangen habe, habe ich/etc/ansible/hosts ... – luke774

-1

Ich denke, es so aussehen muss:

- hosts: master 
    remote_user: USERNAME 
    become: yes 
    become_user: root 

    roles: 
    - cluster_master 

Die name Tag für Spiele ist.