AUF DIESER SEITE
 

Fehlerbehebung bei Junos PyEZ (junos-eznc)-Installationsfehlern für Ansible-Module

Problemstellung

Beschreibung

Während der Ausführung eines juniper.device Moduls generiert der Ansible-Steuerungsknoten einen Fehler, der junos-eznc nicht installiert ist. Zum Beispiel:

Ursache

Viele Module in der juniper.device Sammlung verwenden die Junos PyEZ Python-Bibliothek, um Operationen auf Junos-Geräten auszuführen. Ansible generiert diesen Fehler, wenn die Bibliothek nicht installiert ist oder wenn Ansible die Bibliothek nicht finden kann. Ansible kann die Bibliothek möglicherweise nicht finden, z. B. wenn Sie Ansible in einer virtuellen Umgebung oder unter einer Python-Installation an einem nicht standardmäßigen Systemspeicherort installieren und Ansible an einem anderen Speicherort als dem Standardsystemspeicherort nach der Bibliothek sucht.

Lösung

Installieren Sie Junos PyEZ auf dem Ansible-Steuerungsknoten und aktualisieren Sie alle erforderlichen Umgebungsvariablen. Weitere Informationen finden Sie unter https://github.com/Juniper/py-junos-eznc#installation .

Wenn Sie Ansible mit einer Python-Installation in einer virtuellen Umgebung oder an einem nicht standardmäßigen Systemspeicherort ausführen, müssen Sie Folgendes tun:

  • Installieren Sie Junos PyEZ unter der gewünschten Python-Installation (je nach Bedarf in der virtuellen Umgebung oder an einem nicht standardmäßigen Systemstandort).

  • Geben Sie den Pfad zum Python-Interpreter an, z. B. die interpreter_python Variable in der Ansible-Konfigurationsdatei oder die ansible_python_interpreter Variable für die entsprechenden Geräte in der Ansible-Bestandslistendatei.

    Weitere Informationen finden Sie unter Interpreterermittlung in der offiziellen Ansible-Dokumentation.

Um zu überprüfen, ob Junos PyEZ erfolgreich auf dem Steuerungsknoten installiert wurde, starten Sie die interaktive Python-Shell mit derselben Python-Installation, die Sie für Ansible-Operationen verwenden. Importieren Sie dann das jnpr.junos Paket.

Wenn Sie das jnpr.junos Paket erfolgreich importieren, wird Junos PyEZ auf dem Ansible-Steuerungsknoten installiert. Wenn beim Ausführen des Ansible-Moduls immer noch dieselbe Fehlermeldung angezeigt wird, stellen Sie sicher, dass Sie den richtigen Speicherort für den Python-Interpreter in Ihrer Ansible-Umgebung angegeben haben.

Hinweis:

Sie können die von Ansible verwendete Python-Installation überprüfen, indem Sie Ihr Ansible-Playbook mit der -vvv Option ausführen und die Protokollmeldungen überprüfen.