2016-08-30 3 views
1

Ich verwende ansible 2.1.1.0 intalled von pip auf OS X "El Capitan". Und ich habe mit einer sehr einfachen Konfiguration versucht:ansible führt keine Befehle auf dem Remote-Server

#/etc/ansible/hosts 
[webservers] 
my.remote.server 

die Variable ansible_user Mit über ssh verbinden mit dem entsprechenden öffentlichen Schlüssel:

#/etc/ansible/group_vars/webservers 
--- 
ansible_user: my_user 

Alles in Ordnung zu sein scheint, wenn ich versuche, Ping der Server ansible webservers -m ping:

my.remote.server | SUCCESS => { 
    "changed": false, 
    "ping": "pong" 
} 

Dennoch, wenn ich versuche jeden comm zu laufen und auf dem Remote-Server auf meinem lokalen Rechner ausgeführt wird, zum Beispiel ansible webservers -m shell -a "echo $HOSTNAME" ausgeführt wird, soll angezeigt werden my.remote.server, sondern zeigt diese statt:

my.remote.server | SUCCESS | rc=0 >> 
my.local.server 

Jede Idee, was das Problem verursacht werden könnte?

Antwort

4

Das ist, weil "echo $HOSTNAME" in Ihrem lokalen Shell ausgewertet werden, bevor auf den Remote-Server über SSH weitergeleitet werden. Versuchen Sie folgendes:

ansible webservers -a hostname 

Oder diese:

ansible webservers -m shell -a 'echo $HOSTNAME' 
+0

Das feine @mwp funktioniert, so dass das Problem durch meine Unwissenheit verursacht wurde! haha, danke mann – Ander

+0

Wir lernen immer noch! Freue mich zu helfen. – mwp

Verwandte Themen