awx-manage
(以前の tower-manage
) ユーティリティーは、詳細にわたる Tower 内の情報にアクセスする時に使用します。awx-manage
のコマンドは、awx
または root
ユーザーとして実行してください。
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
の両方を設定する必要があります。
awx-manage
には、Tower から以前のデータを消去する際に使用するコマンドが複数あります。Tower 管理者は、Tower Managment ジョブインターフェースからコマンドラインにアクセスするか、コマンドラインを使用することができます。
awx-manage cleanup_jobs [--help]
このコマンドでは、ジョブの詳細や、指定の日数以前のジョブの出力が完全に削除されます。
awx-manage cleanup_activitystream [--help]
このコマンドでは、指定の日数以前の activity stream のデータを削除します。
awx-manage provision_instance
、awx-manage deprovision_instance
コマンドの詳細は、「クラスタリング」のセクションを参照してください。
注釈
Ansible サポートからの指示がない限り、他の awx-manage
コマンドは実行しないようにしてください。
Ansible Tower は、OAuth2 トークン管理向けに以下のコマンドをサポートします。
create_oauth2_token
¶このコマンドを使用して OAuth2 トークンを作成します (以下のように example_user
の実際のユーザー名を指定します)。
$ awx-manage create_oauth2_token --user example_user
New OAuth2 token for example_user: j89ia8OO79te6IAZ97L7E8bMgXCON2
トークンの作成時に有効なユーザーを指定するようにしてください。指定しないと、ユーザーを指定していない状態、または存在しないユーザー名を指定して、コマンドを実行しようとしましたとのエラーメッセージが表示されます。
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
cleartokens
¶このコマンドを使用して、すでに呼び出されているトークンを消去します。詳細は、「Django's Oauth Toolkit documentation on cleartokens 」を参照してください。
expire_sessions
¶このコマンドを使用して、全セッションまたは、特定のユーザーのセッションすべてを中断します。組織内でユーザーのロールが変更になった場合や、LDAP/AD の分類グループから削除された場合、これらのグループのメンバーシップが原因で管理者が対象ユーザーにジョブを実行させない場合などに、このコマンドの使用を検討してください。
$ awx-manage expire_sessions
このコマンドは、デフォルトで全セッションを中断します。そのため、これらのセッションに関連付けられているユーザーはログアウトされます。特定のユーザーのセッションだけを失効させるには、--user
フラグを使用してユーザー名を指定します (以下では、 example_user
の実際のユーザー名を指定します)。
$ awx-manage expire_sessions --user example_user
clearsessions
¶このコマンドを使用して有効期限の切れたセッションをすべて削除します。詳細は、「 clearsessions に関する Django のドキュメント 」を参照してください。
Tower ユーザーインターフェースの OAuth2 トークン管理に関する詳細は、『 Ansible Tower User Guide 』の「 アプリケーション 」セクションを参照してください。