Freigegebene Verbindung zum server fehlgeschlagen (zu versuchen, eine Ansible playbook)
Ich bin ganz neu mit SSH-Server und Ansible, so könnte dies eine dumme Frage.
Versucht zu laufen ein Ansible-playbook beim Zugriff auf den server mit einem privaten Schlüssel unter Verwendung der bash-Befehl unten.
ansible-playbook dbserv.yml -i hosts --limit local-servers --private-key=(where I put the private key)
Bin ich aber immer diese Fehlermeldung:
fatal: [xxx]: FAILED! => {
"geändert": false,
"fehlgeschlagen": true,
"invocation": {
"Modulname": "setup"
},
"module_stderr": "Shared-Verbindung zu xxx geschlossen.\r\n",
"module_stdout": "/bin/sh: 1: /usr/bin/python2.7: nicht gefunden\r\n",
"msg": "MODUL-FEHLER" }
Ich habe Python installiert auf meinem computer, damit ich nicht verstehen, warum ich immer diese Fehlermeldung.
OS-Umgebung:
Ubuntu 16.04.1
dbserv.yml
und hosts
zu Ihrer Frage.InformationsquelleAutor sabrinazuraimi | 2016-12-13
Du musst angemeldet sein, um einen Kommentar abzugeben.
Die Fehlermeldung, die Sie erhalten, ist:
Ansible benötigt die Ziel-Maschine zu haben Python installiert, um richtig zu arbeiten (siehe Verwalteten Knoten Anforderungen).
Ist der wahrscheinlichste Grund ist, dass Ihre Zielgruppe ist Ubuntu 16.04, die nicht mit Python 2 installiert. In diesem Fall müssen Sie es installieren oder versuchen die experimentelle Unterstützung für Python 3.
Wenn Python 2.7 ist in einem anderen Verzeichnis installiert, können Sie eine host-variable, zum Beispiel im Inventar-Datei (angenommen, der hostname ist
xxx
wie in Ihrer Frage):Laufen Module mit Python 3 (experimentelle), set:
Hinweis: Ansible standardmäßig sieht für
/usr/bin/python
, so ist es wahrscheinlich, dass Ihr playbook, Inventar-Datei, oderansible.cfg
enthalten bereits Einstellungen für/usr/bin/python2.7
was es nicht gibt auf der Ziel-Maschine.Es ist unwahrscheinlich, dass es eine Python in
/usr/bin/python2.7
wenn das Betriebssystem sagt, Ansible es nicht gibt. Wenn Sie nur geben Sie/usr/bin/python2.7
- wird es laufen? Auch, 2.7 sollte nicht tatsächlich verlangt werden, die standardmäßig von Ansible - überprüfen Sie Ihre playbook,ansible.cfg
- und inventory-Datei.vielen Dank, es war ein Fehler auf meiner Seite, die python 2.7 ist eigentlich in /usr/lib/python2.7 jetzt habe ich aber eine andere Fehlermeldung, dass ich keine Berechtigung zum Zugriff auf den python-interpreter..(ich habe den privaten Schlüssel für die VM im Befehl)
Es gibt keine Python-interpreter in
/usr/lib/python2.7
. Es ist ein Verzeichnis mit Bibliotheken. Höchstwahrscheinlich werden Sie nicht haben es inhaliert.Sie hatten Recht. Installiert ist python mit dem Befehl "sudo apt-get install python-pip" - und es funktionierte! Danke!!!
InformationsquelleAutor techraf