2017-11-03 8 views
0

Eigentlich habe ich remote_user Variable für jede Host-Gruppe definiert. Aber remote_user Wert wird nicht von definiertem genommen. Eher verwendet sie den obersten zugewiesenen Wert.Ansible: remote_user in Playbook-Datei Probleme

ansible Version:

# ansible --version 
ansible 2.3.1.0 
    config file = /etc/ansible/ansible.cfg 
    configured module search path = Default w/o overrides 
    python version = 2.7.12 (default, Jul 1 2016, 15:12:24) [GCC 5.4.0 20160609] 

Textbuch-Datei: info.yml

--- 
- hosts: all 
    remote_user: demo 
    roles: 
    - common 

- hosts: devlocal 
    remote_user: root 
    become: yes 
    roles: 
    - common 

- hosts: testlocal 
    remote_user: test 
    become: yes 
    roles: 
    - common 

, wenn ich das Textbuch für Hosts [devlocal] ausführen, wird der Benutzer Namen aus der ersten Zuordnung genommen [dh: " Demo "]. Eigentlich sollte es den remote_user "root" in meinem Fall verwenden.

Protokolle:

# ansible-playbook -i hosts -l devlocal info.yml --ask-pass -vvvv 
Using /etc/ansible/ansible.cfg as config file 
SSH password: 
Loading callback plugin default of type stdout, v2.0 from /usr/lib/python2.7/dist-packages/ansible/plugins/callback/__init__.pyc 

PLAYBOOK: site.yml ******************************************************************************************************************************** 
3 plays in site.yml 

PLAY [all] **************************************************************************************************************************************** 

TASK [Gathering Facts] **************************************************************************************************************************** 
Using module file /usr/lib/python2.7/dist-packages/ansible/modules/system/setup.py 
<10.11.12.213> ESTABLISH SSH CONNECTION FOR USER: demo 

Jemand bitte helfen Sie, was hier ein Thema war. Vielen Dank im Voraus

+0

, warum die Frage herabgestuft wurde. irgendwelche Gründe? – KMG

Antwort

0

Jemand bitte helfen, was ein Problem hier war.

Das Problem hier ist, dass man das erste Spiel laufen als demo angegeben:

- hosts: all 
    remote_user: demo 
    roles: 
    - common 

Und ansible läuft es als demo, die scheint nicht zu sein, ist Ihr Ziel.

Deshalb bietet Ansible inventory mechanism, so dass Sie Verbindungsdetails pro Host angeben können, nicht in Spielen.

0

Ich habe remote_user Variable definiert für jeden Host-Gruppe

Falsch. Sie haben remote_user für jede Wiedergabe und nicht für die Hostgruppe definiert.
Hosts und Gruppen werden über das Inventar definiert.
Sie sollten also devlocal und testlocal Gruppen mit ansible_user zugewiesen zugewiesen werden.

Und haben Einzelspiel:

- hosts: all 
    roles: 
    - common 
+0

danke für deine antwort. Ich habe dieses Playbook unter Bezugnahme auf die Beispiele "https://github.com/ansible/ansible-examples/blob/master/lamp_simple_rhel7/site.yml" erstellt. Ist das nicht richtig? – KMG

+0

Die verknüpften Beispiele zeigen, wie Sie unter demselben Benutzerkonto unterschiedliche Rollen auf verschiedene Hostgruppen anwenden sollten. –

+0

können wir es nicht für "anderes Benutzerkonto" erstellen/ausführen? Dafür sollte ich ein separates Playbook dafür erstellen? Noch ein Zweifel, können wir remote_port nicht in der Spielbuchdatei "remote_port = 22022" setzen? – KMG

Verwandte Themen