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 のコンテナ フォルダにインストールする必要があります。
手順
- Python スクリプトの親フォルダに移動します。
- コンテナ フォルダを親フォルダにマウントして、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
- Python をコンテナにインストールします。
tdnf install -y python3-3.7.5-5.ph3 python3-pip-3.7.5-5.ph3
- Python スクリプトを含むコンテナ フォルダに移動します。
- Python スクリプトとパッケージを追加します。
注: Python スクリプトに必要なパッケージを
lib フォルダにインストールします。
pip3 install <package_name> -t lib/
- コンテナを終了して、コンテナにマウントしたローカル フォルダに移動します。
- 関連するすべてのファイルとフォルダを ZIP アーカイブに圧縮します。
- ZIP アーカイブを vRealize Orchestrator クライアントにインポートし、アクションの一部として実行して、スクリプトを検証します。