Ich habe kürzlich ein Upgrade auf OSX High Sierra durchgeführt und erhalte dies jetzt, wenn ich versuche, vmware_guest in Ansible auf meinem Mac zu verwenden:

fatal: [localhost -> localhost]: FAILED! => {"changed": false, "msg": "PyVmomi 
Python module required. Install using \"pip install PyVmomi\""}

Wie Sie sehen können, findet es pyVmomi nicht. Beachten Sie, dass dies an localhost delegiert wird, sodass es auf meinem Mac und nicht auf einem Remote-Server ausgeführt wird. Ich habe versucht, pyVmomi zu installieren und neu zu installieren, und sogar meine gesamte Python-Installation neu installiert. Wie Sie sehen können, ist das Modul da:

➜  environment git:(rhel) python -c "from pyVmomi import vim"
➜  environment git:(rhel) python2 -c "from pyVmomi import vim"
➜  environment git:(rhel) python3 -c "from pyVmomi import vim"

Ich benutze:

  • Python 2.7.14 wurde mit Homebrew installiert
  • Ansible 2.5.0 mit pip installiert
  • OSX High Sierra
3
Christoffer Reijer 18 Apr. 2018 im 16:48

3 Antworten

Beste Antwort

Nach langem Graben stellte ich fest, dass das Problem auf meinem Computer darin bestand, dass ein anderes Paket fehlte. Dieser Code von arsible / vmware.py war der Schuldige:

   try:
    # requests is required for exception handling of the ConnectionError
    import requests
    from pyVim import connect
    from pyVmomi import vim, vmodl
    HAS_PYVMOMI = True
except ImportError:
    HAS_PYVMOMI = False

`

Sie müssen in der Lage sein, alle Importe in diesem try-Block zu importieren, um HAS_PYVMOMI auf True zu setzen. Auf meinem Computer fehlte ein Paket, das durch Anforderungen importiert wurde, und daher schlug der try-Block fehl. Das Deinstallieren und Neuinstallieren von pyVmomi hat nicht geholfen und würde auch nicht helfen. Mein Computer ist eine CentOS 7.4-VM.

0
anoopknr 12 Juli 2018 im 19:10

Ich hatte genau das gleiche Problem mit dem Python: 2 Docker-Image unter Ubuntu.

Sie haben wahrscheinlich eine Inventardatei, die localhost definiert. Entfernen Sie localhost aus Ihrer Inventardatei oder ändern Sie den Speicherort Ihres Parameters "Inventar" in Ihrer ansible.cfg.

Der Vollständigkeit halber, obwohl ich nicht glaube, dass OP dies wünscht: Alternativ können Sie versuchen, Anmeldeinformationen für Ihren lokalen Computer bereitzustellen, oder 'delegate_to: some-other-host' verwenden, auf dem pyvmomi installiert ist, um die Aufgaben für Sie auszuführen.

0
Nobody 25 Apr. 2018 im 13:26

Ich hatte das gleiche Problem mit High Sierra 10.13.6. Meine Python2.7-Installation erfolgt über Brew. Mein Ansible wurde NICHT über Pip installiert.

Also starte ich 'pip install ansible'. Danach wurde pyVmomi gefunden und es funktioniert.

0
mxb 30 Juli 2018 im 20:31