Documentation

7. Ansible Tower での virtualenv の使用

Ansible Tower 3.0 以降では virtualenv を使用します。Virtualenv は、分離された Python 環境を構築して依存関係での競合やバージョンの相違による問題を回避します。Virtualenv は、特定のバージョンの Python に必要な実行ファイルや依存関係すべてを含むフォルダーを作成するだけで機能します。Ansible Tower は、インストール時に 2 つの virtualenv を作成します。1 つは、Tower の実行に、もう 1 つは Ansible の実行に使用します。これにより、Tower は安定した環境で実行でき、Playbook の実行に必要なモジュールを Ansible Python 環境に追加または更新することが可能になります。virtualenv の詳しい情報は Python Guide の「Virtual Environments」を参照してください。

注釈

初期インストール後の python パッケージなど、仮想環境にパッケージをインストールする前に umask 0022 を実行することが強く推奨されます。パーミッションを適切に設定しておかないと、Tower サービスに失敗します。以下は例となります。:

# source /var/lib/awx/venv/ansible/bin/activate
# umask 0022
# pip install --upgrade pywinrm
# deactivate

7.1. virtualenv の変更

Tower で使用する virtualenv の変更はサポートされておらず、推奨していません。代わりに、Tower が Ansible の実行に使用する virtualenv にモジュールを追加してください。

これには Ansible virtualenv を有効化します。

. /var/lib/awx/venv/ansible/bin/activate

...``pip`` を使用して必要なアイテムをインストールします。

pip install mypackagename