2016-04-07 9 views
3

Ich habe ein Raspberry Pi, die ich über SSH von Terminal über ein Ethernet-Kabel von meinem Macbook zum pi über den Befehl ‚ssh [email protected]Was bedeutet Ansible Fehler "FEHLER! (25, 'Unangemessene ioctl für Gerät')", "unerreichbar"?

Doch wenn ich ein Textbuch ansible laufen verbinden können, um diesen Gastgeber

[pis] 
169.254.0.2 

bekomme ich folgende Fehlermeldung:

PLAY [Ansible Playbook for configuring brand new Raspberry Pi]   ***************** 

TASK [setup] ******************************************************************* 
<169.254.0.2> ESTABLISH CONNECTION FOR USER: pi on PORT 22 TO 169.254.0.2 
CONNECTION: pid 2118 waiting for lock on 10 
CONNECTION: pid 2118 acquired lock on 10 
fatal: [169.254.0.2]: UNREACHABLE! => {"changed": false, "msg": "ERROR! (25, 'Inappropriate ioctl for device')", "unreachable": true} 

PLAY RECAP ********************************************************************* 
169.254.0.2    : ok=0 changed=0 unreachable=1 failed=0 

Meine ansible Version 2.0.0.2 ist.

Wie kann ich Ansible so konfigurieren, dass es auf die gleiche Weise verbindet, wie ich erfolgreich mit SSH vom Terminal verbinden kann?

+0

erstaunlich, unverständlich (für mich): wenn ich zuerst den Server ping und dann das Playbook laufen, funktioniert es :) -> zB. ansible -i ansible-pi/Hosts pis -m ping --ask-pass --sudo; ansible-playbook ansible-pi/playbook.yml -i ansible-pi/gastgeber --ask-pass --sudo – maxfowler

Antwort

1

Schließen Sie immer die Ansible-Version ein, wenn Sie solche Probleme melden. Ich hatte ein ähnliches Problem, wenn mehrere SSH-Verbindungen von Ansible geöffnet wurden. Können Sie pipelining in der Ansible-Konfigurationsdatei (/etc/ansible/ansible.cfg) auf False setzen und es erneut versuchen? Überprüfen Sie, was eingestellt ist, bevor Sie es einstellen.

+0

guten Ruf, mein schlechtes für das Vergessen. Ich fügte meine ansible Version zur Frage hinzu (2.0.0.2) - auch wenn Sie meinen Kommentar sehen, fand ich einen "Hack", der funktionierte, aber ich werde Ihre Idee versuchen – maxfowler

+0

es scheint, dass das Hinzufügen der Konfiguration auch das Problem behebt! Ich habe keine Ahnung, was den Fehler verursacht hat, aber wenn jemand auf dieses Mysterium stößt, hoffe ich, dass dieser Stack-Overflow-Post dir hilft, glücklich zu sein wie ich – maxfowler

0

Ich habe diesen Fehler beim Versuch, Ansible aus einem Docker Container auszuführen und ich habe diesen Fehler erhalten. This answer führte mich zu der Lösung, die war, dass Sie das -t Flag hinzufügen müssen, das eine Pseudo-TTY zuweist.

z.

sudo docker run -t -v `pwd`:/ansible -w /ansible ansible:latest ansible-playbook -i inventory.yml site.yml 
Verwandte Themen