Documentation

12. awx-manage ユーティリティー

awx-manage (以前の tower-manage) ユーティリティーは、詳細にわたる Tower 内の情報にアクセスする時に使用します。awx-manage のコマンドは、awx または root ユーザーとして実行してください。

12.1. インベントリーのインポート

awx-manage は、カスタムインベントリースクリプトを使用することができないユーザー向けに、Tower の管理者が Tower にインベントリーを直接インポートするメカニズムのことです。

awx-manage を正しく使用するには、まずインポート先として使用できるように Tower にインベントリーを作成する必要があります。

awx-manage のヘルプは、awx-manage inventory_import [--help] のコマンドを実行します。

inventory_import コマンドは、テキストベースのインベントリーファイル、動的なインベントリースクリプト、またはコアの Ansible でサポートされている上記のファイルやスクリプトのディレクトリーと、Tower のインベントリーオブジェクトを同期します。

コマンドの実行時に、--inventory-id または --inventory-name、Ansible インベントリーのソースへのパス (--source) のいずれかを指定します。

awx-manage inventory_import --source=/ansible/inventory/ --inventory-id=1

デフォルトでは、Tower にすでに保存されているインベントリーデータと、外部ソースからのデータは混在します。外部データのみを使用するには、--overwrite を指定します。既存のホストが --source のみから変数データを取得するように設定するには、--overwrite_vars を指定します。デフォルトの動作は、外部ソースから新しい変数を追加して、既存のキーについては上書きしますが、外部のデータソースから取得していない変数は保持されます。

awx-manage inventory_import --source=/ansible/inventory/ --inventory-id=1 --overwrite

注釈

Ansible Tower 2.4.0 リリースでは、--overwrite_vars設定されていない限り、インベントリーホスト変数への編集や追加はインベントリーの同期後も永続されるようになりました。インベントリーの同期を以前と同じように動作させるには、--overwrite--overwrite_vars の両方を設定する必要があります。

12.2. 以前のデータの消去

awx-manage には、Tower から以前のデータを消去する際に使用するコマンドが複数あります。Tower 管理者は、Tower Managment ジョブインターフェースからコマンドラインにアクセスするか、コマンドラインを使用することができます。

  • awx-manage cleanup_jobs [--help]

このコマンドでは、ジョブの詳細や、指定の日数以前のジョブの出力が完全に削除されます。

  • awx-manage cleanup_activitystream [--help]

このコマンドでは、指定の日数以前の activity stream のデータを削除します。

12.3. クラスターの管理

awx-manage provision_instanceawx-manage deprovision_instance コマンドの詳細は、「クラスタリング」のセクションを参照してください。

注釈

Ansible サポートからの指示がない限り、他の awx-manage コマンドは実行しないようにしてください。

12.4. トークンおよびセッション管理

Ansible Tower は、OAuth2 トークン管理向けに以下のコマンドをサポートします。

12.4.1. create_oauth2_token

このコマンドを使用して OAuth2 トークンを作成します (以下のように example_user の実際のユーザー名を指定します)。

$ awx-manage create_oauth2_token --user example_user

New OAuth2 token for example_user: j89ia8OO79te6IAZ97L7E8bMgXCON2

トークンの作成時に有効なユーザーを指定するようにしてください。指定しないと、ユーザーを指定していない状態、または存在しないユーザー名を指定して、コマンドを実行しようとしましたとのエラーメッセージが表示されます。

12.4.2. revoke_oauth2_tokens

このコマンドを使用して OAuth2 トークンを取り消します (アプリケーショントークンもパーソナルアクセストークン (PAT) も両方)。デフォルトでは、全アプリケーショントークンを取り消し (ますが、関連付けられた更新トークンは取り消されません)、さらにパーソナルアクセストークンすべてを取り消します。ただし、全トークンを取り消すユーザーを指定することも可能です。

既存の OAuth2 トークンすべてを取り消す方法:

$ awx-manage revoke_oauth2_tokens

全 OAuth2 トークン & 更新トークンを取り消す方法:

$ awx-manage revoke_oauth2_tokens --revoke_refresh

id=example_user が指定されたユーザーの OAuth2 トークンすべてを取り消す方法 (以下のように example_user の実際のユーザー名を指定します):

$ awx-manage revoke_oauth2_tokens --user example_user

id=example_user が指定されたユーザーの全 OAuth2 トークンと更新トークンを取り消す方法:

$ awx-manage revoke_oauth2_tokens --user example_user --revoke_refresh

12.4.3. cleartokens

このコマンドを使用して、すでに呼び出されているトークンを消去します。詳細は、「Django's Oauth Toolkit documentation on cleartokens 」を参照してください。

12.4.4. expire_sessions

このコマンドを使用して、全セッションまたは、特定のユーザーのセッションすべてを中断します。組織内でユーザーのロールが変更になった場合や、LDAP/AD の分類グループから削除された場合、これらのグループのメンバーシップが原因で管理者が対象ユーザーにジョブを実行させない場合などに、このコマンドの使用を検討してください。

$ awx-manage expire_sessions

このコマンドは、デフォルトで全セッションを中断します。そのため、これらのセッションに関連付けられているユーザーはログアウトされます。特定のユーザーのセッションだけを失効させるには、--user フラグを使用してユーザー名を指定します (以下では、 example_user の実際のユーザー名を指定します)。

$ awx-manage expire_sessions --user example_user

12.4.5. clearsessions

このコマンドを使用して有効期限の切れたセッションをすべて削除します。詳細は、「 clearsessions に関する Django のドキュメント 」を参照してください。

Tower ユーザーインターフェースの OAuth2 トークン管理に関する詳細は、『 Ansible Tower User Guide 』の「 アプリケーション 」セクションを参照してください。