In Ansible werden keine Parameter für die Bestandsdatei verwendet

844
RandomDeduction

Ich versuche, Ansible zum ersten Mal zum Laufen zu bringen. Aus irgendeinem Grund werden die Parameter, die ich zu meiner hosts-Datei hinzugefügt habe, nicht verwendet, wenn ich einen Befehl wie diesen ausführeansible all -m ping

Es wird versucht, ein Ping an die beiden Hosts in der Datei durchzuführen, verwendet jedoch meinen lokalen Benutzernamen und nicht den in der Hosts-Datei angegebenen.

Ich habe die folgende Hosts-Datei:

[dev]  xx.5.xxx.1xx ansible_user=ec2-user ansible_ssh_private_key_file=~/Documents/AWSKeys/myKey1.pem  mysite.theweb.com ansible_user=ec2-user ansible_ssh_private_key_file=~/Documents/AWSKeys/myKey2.pem  

Wenn ich jedoch die Parameter im Befehl selbst übergebe, funktioniert das einwandfrei.

Das ist erfolgreich:

ansible all -m ping -u ec2-user 

Die Schlüssel werden in den SSH-Agenten geladen.

Ich möchte die hosts-Datei verwenden, um viele Maschinen mit unterschiedlichen Schlüsseln hinzuzufügen, sodass ich diese Funktion wirklich nutzen muss.

0
Was passiert, wenn Sie Ihrem Ansible-Befehl "-i / path / to / ansible / hosts" hinzufügen? zymhan vor 8 Jahren 0
@WildVelociraptor verwendet immer noch den lokalen Benutzernamen und nicht "ec2-user" RandomDeduction vor 8 Jahren 0

1 Antwort auf die Frage

0
RandomDeduction

Ich habe es herausgefunden. Beim Ausführen wurde ansible --versioneine Version vor der Version 2.0 zurückgegeben. Die aktuelle Dokumentation ist für> 2.0 geschrieben.

Ich konnte verwenden, ansible_ssh_user=ec2-userwas in v2.0 abgeschrieben wird.