Abhängig vom Betriebssystem (OS), das zum Erstellen Ihres Python-Skripts verwendet wird, können Ihre Workflows oder Aktionen nach dem Import der entsprechenden ZIP-Datei auf den vRealize Orchestrator Client fehlschlagen.
Das Betriebssystem des Laufzeit-Containers, der für Python in vRealize Orchestrator verwendet wird, basiert auf Photon 3.0. Für ein anderes Betriebssystem (z. B. Linux) kompilierte Python-Skriptpakete sind mit dem Laufzeit-Container nicht kompatibel. Dieses Problem kann dazu führen, dass das Python-Skript fehlschlägt, wenn Sie versuchen, es als Teil Ihrer vRealize Orchestrator-Workflows oder -Aktionen zu verwenden. In einem solchen Szenario erhalten Sie die folgende Fehlermeldung in Ihren Protokollen:
-04:00errorCannot find module action
Um dieses Problem zu beheben, müssen Sie das erforderliche Python-Paket in einem Photon OS-Containerordner installieren.
Voraussetzungen
Installieren Sie Docker. Weitere Informationen hierzu finden Sie unter Abrufen von Docker.
Prozedur
- Navigieren Sie zum übergeordneten Ordner Ihres Python-Skripts.
- Erstellen Sie einen Container mit dem Photon-Image, indem Sie einen Containerordner in Ihren übergeordneten Ordner mounten.
Hinweis: Das folgende Skript ist ein singulärer Docker-Befehl, den Sie in seiner Gesamtheit ausführen müssen, um einen geeigneten Container zu erstellen.
docker run -ti -v
$(pwd)/<name_of_folder_that_containes_your_python_script>/:/<name_of_folder_that_containes_your_python_script>
photon:3.0
- Installieren Sie python im Container.
tdnf install -y python3-3.7.5-5.ph3 python3-pip-3.7.5-5.ph3
- Navigieren Sie zum Containerordner, der Ihr Python-Skript enthält.
- Fügen Sie Ihr Python-Skript und Pakete hinzu.
Hinweis: Installieren Sie die für Ihr Python-Skript erforderlichen Pakete im Ordner
lib.
pip3 install <package_name> -t lib/
- Verlassen Sie den Container und navigieren Sie zu dem lokalen Ordner, den Sie für den Container hinzugefügt haben.
- Komprimieren Sie alle relevanten Dateien und Ordner in einer ZIP-Datei.
- Importieren Sie die ZIP-Datei in den vRealize Orchestrator Client und validieren Sie das Skript, indem Sie es als Teil einer Aktion ausführen.