Afhankelijk van het besturingssysteem (OS) dat u gebruikt om uw Python-script te compileren, kunnen uw werkstromen of acties mislukken na het importeren van het relevante ZIP-archief naar de vRealize Orchestrator-client.

Het besturingssysteem van de runtimecontainer die wordt gebruikt voor Python in vRealize Orchestrator is gebaseerd op Photon 3.0. Python-scriptpakketten die zijn gecompileerd voor een ander besturingssysteem, zoals Linux, zijn niet compatibel met de runtimecontainer. Dit probleem kan ervoor zorgen dat het Python-script mislukt, wanneer u dit probeert te gebruiken als onderdeel van uw vRealize Orchestrator-werkstromen of -acties. In een dergelijk scenario wordt het volgende foutbericht weergegeven in uw logboeken:

-04:00errorCannot find module action

Om dit probleem op te lossen, moet u het vereiste Python-pakket installeren in een Photon OS-containermap.

Voorwaarden

Installeer Docker. Zie Docker ophalen.

Procedure

  1. Ga naar de bovenliggende map van uw Python-script.
  2. Maak een container met de Photon-basisinstallatiekopie door een containermap te koppelen aan uw bovenliggende map.
    Opmerking: Het volgende script is een enkelvoudige Docker-opdracht die u in zijn geheel moet uitvoeren om een geschikte container te maken.
    docker run -ti -v 
    $(pwd)/<name_of_folder_that_containes_your_python_script>/:/<name_of_folder_that_containes_your_python_script> 
    photon:3.0
  3. Installeer Python in de container.
    tdnf install -y python3-3.7.5-5.ph3 python3-pip-3.7.5-5.ph3
  4. Navigeer naar de containermap die uw Python-script bevat.
  5. Voeg uw Python-script en -pakketten toe.
    Opmerking: Installeer pakketten die vereist zijn voor uw Python-script in de map lib.
     pip3 install <package_name> -t lib/ 
    
  6. Sluit de container en ga naar de lokale map die u hebt gekoppeld aan de container.
  7. Comprimeer alle relevante bestanden en mappen in een ZIP-archief.
  8. Importeer het ZIP-archief in de vRealize Orchestrator-client en valideer het script door het uit te voeren als onderdeel van een actie.