Python スクリプトをコンパイルするために使用されるオペレーティング システム (OS) によっては、関連する ZIP アーカイブを vRealize Orchestrator クライアントにインポートした後に、ワークフローまたはアクションが失敗することがあります。

vRealize Orchestrator の Python で使用されるランタイム コンテナの OS は Photon 3.0 をベースとしています。Linux などの、別の OS 用にコンパイルされた Python スクリプト パッケージは、ランタイム コンテナと互換性がありません。この問題により、vRealize Orchestrator のワークフローまたはアクションの一部として Python スクリプトの使用を試みた場合に、Python スクリプトが失敗することがあります。このようなシナリオでは、次のエラー メッセージがログに表示されます。

-04:00errorCannot find module action

この問題を解決するには、必要な Python パッケージを Photon OS のコンテナ フォルダにインストールする必要があります。

前提条件

Docker をインストールします。Docker の取得を参照してください。

手順

  1. Python スクリプトの親フォルダに移動します。
  2. コンテナ フォルダを親フォルダにマウントして、Photon のベース イメージでコンテナを作成します。
    注: 次のスクリプトは、適切なコンテナを作成するために完全に実行する必要がある、単一の Docker コマンドです。
    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. Python をコンテナにインストールします。
    tdnf install -y python3-3.7.5-5.ph3 python3-pip-3.7.5-5.ph3
  4. Python スクリプトを含むコンテナ フォルダに移動します。
  5. Python スクリプトとパッケージを追加します。
    注: Python スクリプトに必要なパッケージを lib フォルダにインストールします。
     pip3 install <package_name> -t lib/ 
    
  6. コンテナを終了して、コンテナにマウントしたローカル フォルダに移動します。
  7. 関連するすべてのファイルとフォルダを ZIP アーカイブに圧縮します。
  8. ZIP アーカイブを vRealize Orchestrator クライアントにインポートし、アクションの一部として実行して、スクリプトを検証します。