Inventory (インベントリー) は、ジョブを起動できるホストのコレクションです (Ansible インベントリーファイルと同様)。インベントリーはグループに分類され、それらのグループには実際のホストが含まれます。グループは、ホスト名を Tower に入力して手動で取得することも、Ansible Tower のサポートされるクラウドプロバイダーから取得することもできます。
注釈
カスタム動的インベントリースクリプト、または Tower でネイティブにサポートされていないクラウドプロバイダーがある場合、それを Tower にインポートすることもできます。Ansible Tower Administration Guide の「インベントリーファイルのインポート」を参照してください。
このタブには、現在利用できるインベントリーの一覧が表示されます。インベントリーの一覧は、名前、タイプ、または 組織 で並べ替え、検索できます。
インベントリーの詳細の一覧には、以下が含まれます。
インベントリー同期 (): 緑はインベントリーの同期が成功したことを示し、赤は同期が失敗したことを示します。このアイコンをクリックすると、インベントリーに同期できるソースがある場合、直近の 5 回のインベントリーソースの同期ステータスとソース情報が表示されます。
Status Dot (ステータスを示す丸い点): このインベントリーの最近のジョブのステータスを表示します。
名前: インベントリー名。インベントリー名をクリックすると、選択したインベントリーのプロパティー画面に移動します。ここでは、インベントリーのグループおよびホストが表示されます (このビューは アイコンからアクセスすることもできます)。
タイプ: これが標準インベントリーか、またはスマートインベントリーであるかどうかを特定します。
組織: インベントリーが属する組織。
アクション: 以下のアクションを選択したインベントリーについて実行できます。
編集: 選択したインベントリーのプロパティーを編集します。
コピー: 新しいインベントリーの作成用のテンプレートとして、既存のインベントリーのコピーを作成します。
削除: 選択したインベントリーを削除します。この操作は取り消すことができません!
注釈
他の作業アイテムが使用するアイテムを削除する場合は、メッセージが開き、削除されるアイテムと、削除の確認を促すプロンプトが表示されます。画面によっては、無効なアイテムや、過去に削除されたアイテムが含まれる場合があるので、それらのアイテムは実行に失敗します。以下は、これらのメッセージ例です。
スマートインベントリーは、保存された検索で定義されるホストのコレクションであり、標準インベントリーのように表示し、ジョブ実行で簡単に使用することができます。組織管理者には、それぞれの組織内のインベントリーへの管理者パーミッションがあり、スマートインベントリーを作成できます。スマートインベントリーは KIND=smart
で特定されます。スマートインベントリーは、Tower 検索で使用されるのと同じ方法で定義できます。InventorySource
はインベントリーに直接関連付けられます。
Inventory
モデルには、デフォルトで空白にされる以下の新規フィールドがありますが、スマートインベントリーについては以下のように設定されます。
スマートインベントリーの場合、 kind
は smart
に設定される
スマートインベントリーの場合、host_filter
が設定され、kind
は smart
に設定される
host
モデルには新規フィールド smart_inventories
があり、このフィールドではホストが関連付けられているすべてのスマートインベントリーのセットを特定するメンバーシップルックアップテーブルを使用します。メンバーシップはタスク別に生成されます。タスクは以下の場合に起動します。
新規ホストが追加される
既存ホストが変更される (更新または削除される)
新規スマートインベントリーが追加される
既存スマートインベントリーが変更される (更新または削除される)
注釈
update_host_smart_inventory_memberships
タスクは、AWX_REBUILD_SMART_MEMBERSHIP
が True に設定されている場合にのみ実行されます (デフォルトは False)。
実際のインベントリーは、編集可能にせずに表示することができます。
ホストおよびグループの名前はインベントリーソースの同期の結果として作成されます。
グループのレコードは編集したり、移動したりすることはできません。
通常のインベントリーと同様に、スマートインベントリーのホストエンドポイント (/inventories/N/hosts/
) からホストを作成することはできません。スマートインベントリーの管理者には、名前、説明、変数および削除機能などのフィールドを編集するパーミッションがありますが、host_filter
を変更するパーミッションはありません。これを変更すると、(別のインベントリー内にプライマリーメンバーシップを有する) ホストの中のどのホストがスマートインベントリーに組み込まれるかに影響があるためです。host_filter
はスマートインベントリーの組織内のインベントリーに含まれるホストのみに適用されることに注意してください。
host_filter
を変更するには、インベントリーの組織の組織管理者である必要があります。組織管理者には組織内のすべてのインベントリーへの暗黙的な「管理」アクセスをすでに有しているため、組織管理者が有していないパーミッションが必要になることはありません。
スマートインベントリーの管理者は、(組織の管理者ではない) 他のユーザーに対し、スマートインベントリーへの「使用」や「アドホック」などのパーミッションを付与することができ、これらのパーミッションは、他の標準インベントリーの場合と同様にロールが示唆する各種アクションを許可します。ただし、これにより、これらの管理者に (異なるインベントリーにある) ホストへの特別なパーミッションが付与される訳ではありません。それらの管理者は、スマートインベントリーホストの一覧でホストを閲覧できますが、ホストの直接の読み取りパーミッションが付与される訳ではなく、/#/hosts/
で追加のホストを確認できる訳でもありません。
ある状況では、以下を変更することができます。
インベントリーソースを使ってインベントリーで手動で作成された新規ホスト
インベントリーソースの同期の結果として作成されたグループ
変更可能なホストおよびグループの変数
スマートインベントリーに関連付けられたホストは表示される際に明示されます。スマートインベントリーの結果に同じホスト名を持つ複数のホストが含まれる場合、一致するホストの 1 つのみがスマートインベントリーの一部として組み込まれ、ホスト ID 別に並べ替えられます。
host_filter
検索¶host_filter
はホスト名、グループ名、および Ansible ファクト別に検索できます。
グループ検索の形式は以下のようになります。
groups.name:groupA
ファクト検索の形式は以下の ようになります。
ansible_facts.ansible_fips:false
また、ホスト名とホストの説明で構成されるスマート検索の検索を実行することもできます。
host_filter=name=my_host
host_filter
の検索用語が文字列タイプの場合、値を数値 (例: 2.66
) にしたり、JSON キーワード (例: null
、true
または false
) を有効にしたりするには、値を二重引用符で囲みます。これにより、Tower が誤って検索用語を非文字列として解析するのを防ぐことができます。
host_filter=ansible_facts__packages__dnsmasq[]__version="2.66"
新規インベントリーまたはスマートインベントリーを作成するには、以下を実行します。
追加 ボタンをクリックし、作成するインベントリーのタイプを選択します。
インベントリーのタイプは、ラベルや作成フォームの先頭にあるタブの行で識別できます。
以下のフィールドに該当する詳細を入力します。
名前: このインベントリーに適した名前を入力します。
説明: 任意の説明を入力します (オプション)。
組織: 必須。利用可能な組織から選択します。
スマートホストフィルター: (スマートインベントリーのみに適用) ボタンをクリックして別個の動的ホストウィンドウを開き、このインベントリーのホストをフィルターします。これらのオプションは、選択した組織に基づくものです。
フィルターは、タグを使用して該当の名前を含むホストをフィルターする点で、タグに似ています。そのため、スマートホストフィルター フィールドにデータを投入するには、実際にホスト自体を選択するのではなく、希望のホストを含むタグを指定します。検索 フィールドにタグを入力して、[Enter] を押します。 フィルターでは、大文字と小文字が区別されます。詳細は、「 スマートホストフィルター 」セクションを参照してください。
Insights 認証情報: (標準インベントリーのみに適用) インベントリーが Insights と共に使用されている場合には、Insights の認証情報を入力します。
インスタンスグループ: ボタンをクリックして別個のウィンドウを開きます。このインベントリーの実行に使用するインスタンスグループを選択します。一覧に多くのオプションが含まれる場合、検索を使用してオプションの範囲を絞ります。
変数: このインベントリーのすべてのホストに適用される変数の定義および値。JSON または YAML 構文を使用して変数を入力します。ラジオボタンを使用してこれら 2 つの間の切り替えを行います。
完了したら 保存 をクリックします。
Tower で新規インベントリーが保存された後に、パーミッション、グループ、ホスト、ソースの設定や、完了したジョブの表示に進みます (インベントリーのタイプに応じて適用可能な場合)。詳細の説明については、後続のセクションを参照してください。
パーミッション タブでは、ユーザーおよびチームメンバーに関連付けられたパーミッションの確認、付与、編集および削除を実行できます。このリソースについて特定ユーザーにパーミッションを割り当てるには以下を行います。
パーミッション タブをクリックします。
ボタンをクリックして、ユーザー/チームの追加ウィンドウを開きます。
アクセス権を持ち、特定のロールを割り当てるユーザーまたはチームを指定します。
ユーザーまたはチームの名前の横にある 1 つまたは複数のチェックボックスをクリックしてチェックマークを付け、これらを選択します。
注釈
ユーザー と チーム タブ間を保存せずに切り換えることで、複数のユーザーとチームを同時に選択することができます。
選択を終えると、ウィンドウが展開され、ドロップダウンメニューの一覧から選択した各ユーザーまたはチームのロールを選択できるようになります。
上記の例では、インベントリーに関連付けられたオプションが表示されます。リソースごとに利用できるオプションが異なります。
管理者: 権限の読み取り、実行および編集を許可します (すべてのリソースに適用)。
使用: ジョブテンプレートのリソースの使用を許可します (ジョブテンプレート以外の全リソースに適用)。
更新: SCM 更新でのプロジェクトの更新を許可します (プロジェクトおよびインベントリーに適用)。
アドホック: アドホックコマンドの使用を許可します (インベントリーに適用)。
実行: ジョブテンプレートの起動を許可します (ジョブテンプレートに適用)。
ちなみに
ロールの選択ペインの キー ボタンを使用して、各ロールの説明を表示します。
選択したユーザーまたはチームに適用するロールを選択します。
注釈
ユーザー と チーム タブ間を保存せずに切り換えることで、複数のユーザーとチームにロールを割り当てることができます。
各ユーザーとチームのロールの割り当てを確認します。
完了時に 保存 をクリックすると、ユーザー/チームの追加ウィンドウが閉じ、各ユーザーやチームに割り当てられた更新済みのロールが表示されます。
特定ユーザーのパーミッションを削除するには、そのリソースの横にある「関連付けの解除」 (x) ボタンをクリックします。
これにより確認ダイアログが起動し、関連付けの解除の確認が求められます。
インベントリーは、ホストおよび他のグループか、またはホストが含まれるグループに分類されます。グループは標準インベントリーのみに適用され、スマートインベントリーから直接設定することはできません。既存グループは、標準インベントリーで使用されるホストに関連付けることができます。標準インベントリーで選択可能なアクションには以下が含まれます。
新規グループの作成
新規ホストの作成
選択したインベントリーでのコマンドの実行
インベントリープロパティーの編集
グループおよびホストのアクティビティーストリームの表示
インベントリーの構築に関するヘルプの取得
注釈
Ansible Tower 3.2 より、インベントリーソースはグループに関連付けられなくなりました。これ以前のバージョンでは、生成されるグループやホストはインベントリーソースグループの子となりました。現在、生成されるグループは最上位に置かれます。これらのグループには子グループを持たせることができ、これらの生成されるすべてのグループにホストを含めることができます。
インベントリーの新規グループを作成するには、以下を実行します。
追加 ボタンをクリックして、グループの作成 ウィンドウを開きます。
必須およびオプションのフィールドに該当する詳細を入力します。
名前: 必須
説明: 任意の説明を入力します (オプション)。
変数: このグループのすべてのホストに適用される定義および値を入力します。JSON または YAML 構文のいずれかを使用して変数を入力します。ラジオボタンを使用してこれら 2 つの間の切り替えを行います。
完了したら、保存 をクリックします。
グループ内にグループを追加するには、以下を実行します。
グループ タブをクリックします。
追加 ボタンをクリックして、設定にすでに存在するグループを追加するか、または新規グループを作成するかどうかを選択します。
新規グループを作成する場合、該当する詳細情報を必須およびオプションフィールドに入力します。
名前: 必須
説明: 任意の説明を入力します (オプション)。
変数: このグループのすべてのホストに適用される定義および値を入力します。JSON または YAML 構文のいずれかを使用して変数を入力します。ラジオボタンを使用してこれら 2 つの間の切り替えを行います。
完了したら、保存 をクリックします。
グループの作成 ウィンドウが閉じ、新規に作成されたグループが、元のグループに関連付けられたグループの一覧のエントリーとして表示されます。
既存グループを追加する選択をした場合、選択可能なグループが別個の選択ウィンドウに表示されます。
グループが選択されると、グループに関連付けられたグループの一覧のエントリーとして表示されます。
サブグループの下に追加のグループおよびホストを設定するには、グループの一覧からサブグループの名前をクリックし、このセクションの説明にある同じ手順を繰り返します。
ホストをインベントリー、グループおよびグループ内のグループ用に設定することができます。ホストを設定するには、以下を実行します。
ホスト タブをクリックします。
追加 ボタンをクリックして、設定にすでに存在するホストを追加するか、または新規ホストを作成するかどうかを選択します。
新規ホストを作成する場合は、 ボタンを選択して、ジョブの実行中にこのホストを組み込むかどうかを指定します。
必須およびオプションのフィールドに該当する詳細を入力します。
ホスト名: 必須
説明: 任意の説明を入力します (オプション)。
変数: このグループのすべてのホストに適用される定義および値を入力します。JSON または YAML 構文のいずれかを使用して変数を入力します。ラジオボタンを使用してこれら 2 つの間の切り替えを行います。
完了したら、保存 をクリックします。
ホストの作成 ウィンドウが閉じ、新規に作成されたホストが、元のグループに関連付けられたホストの一覧のエントリーとして表示されます。
既存ホストを追加する選択をした場合、選択可能なホストが別個の選択ウィンドウに表示されます。
ホストが選択されると、そのホストがグループに関連付けられたホストの一覧のエントリーとして表示されます。
ホストのファクトおよび追加グループを設定するには、ホストの一覧からホストの名前をクリックします。
これにより、選択したホストの「詳細」タブが開きます。
ファクト タブをクリックして、収集するファクトを入力します。ファクトについて詳しくは、ファクトのキャッシング セクションを参照してください。
グループ タブをクリックして、ホストのグループを設定します。
追加 ボタンをクリックして、ホストを既存グループに関連付けます。
選択可能なグループが別個の選択ウィンドウに表示されます。
クリックして、ホストに関連付けるグループを選択し、保存 をクリックします。
グループが関連付けられると、そのグループがホストに関連付けられたグループの一覧にエントリーとして表示されます。
インベントリーソースはグループに関連付けられなくなりました。Ansible Tower 3.2 より前のバージョンでは、生成されるグループやホストはインベントリーソースグループの子となりました。現在、生成されるグループは最上位に置かれます。これらのグループには子グループを持たせることができ、これらの生成されるすべてのグループにホストを含めることができます。
ソースのインベントリーへの追加は、標準インベントリーのみに適用されます。スマートインベントリーの場合、それらが関連付けられている標準インベントリーからソースを継承します。インベントリーのソースを設定するには、以下を実行します。
ソースを追加するインベントリーで、ソース タブをクリックします。
ボタンをクリックします。
これにより、「ソースの作成」ウィンドウが開きます。
必須およびオプションのフィールドに該当する詳細を入力します。
名前: 必須
説明: 任意の説明を入力します (オプション)。
ソース: ホストを入力できる認証情報タイプと一致するソースを選択します。それぞれのソースや適切な情報を入力する方法についての詳細は、認証情報ソース セクションを参照してください。
注釈
Ansible Tower バージョン 3.2 より、Rackspace クラウドサーバーのサポートは中止されました。
インベントリーソースの更新ジョブの出力レベルは、詳細 ドロップダウンメニューから適切なオプションを選択して設定できます。
すべてのクラウドインベントリーソースには、以下の更新オプションがあります。
上書き: 詳細は、画面上のヒント () を参照してください。3.2 の移行後の動作の一貫性を確保するには、True
に設定しないようにします。
変数の上書き: 詳細は、画面上のヒント () を参照してください。
起動時の更新: このインベントリーを使用してジョブを実行するたびに、ジョブタスクの実行前に選択したソースからインベントリーの更新が実行されます。ジョブの生成速度がインベントリーの同期速度を上回る場合のジョブのオーバーフローを避けるために、これを選択して、特定の期間 (秒単位) 以前のインベントリーの同期をキャッシュするようキャッシュタイムアウトを設定できます。
「起動時の更新」の設定は、プロジェクトおよびインベントリーの依存関係システムを参照しますが、とくに 2 つのジョブが同時に実行されないようにする訳ではありません。キャッシュのタイムアウトが指定される場合には、2 番目のジョブの依存関係が作成され、最初のジョブが生成したプロジェクトおよびインベントリーの更新が使用されます。それらの両方のジョブがプロジェクトおよび/またはインベントリーの更新の終了を待機し、次に進みます。これらが異なるジョブテンプレートを使用する場合、システムの容量がある場合にはそれらを同時に開始し、実行することができます。
注釈
Tower のプロビジョニングコールバック機能を動的インベントリーソースと共に使用する場合、「起動時の更新」をインベントリーグループに対して設定する必要があります。
実行後にエントリーおよび選択を確認し、保存 をクリックします。
ソースが定義されると、インベントリーに関連付けられたソースの一覧のエントリーとして表示されます。ソース タブから、単一ソースに対して同期を実行することも、1 度にすべての同期を実行することもできます。また、同期プロセスのスケジュールやソースの編集または削除など、追加のアクションを実行することもできます。
ソースの通知を設定するには、通知 タブをクリックします。
通知がすでに設定されている場合は、通知の設定を選択します。
通知が設定されていない場合、通知 で詳細を確認してください。
インベントリーがジョブの実行に使用されている場合、それらのジョブの詳細は、インベントリーの 完了したジョブ タブで確認できます。
インベントリーのホストを設定する際に検索フィルターを使用できます。ファクトの検索機能を使用するこの機能は Ansible Tower 3.2 で導入されました。
use_fact_cache=True
がジョブテンプレートごとに設定されている場合、ジョブテンプレートの実行時に Ansible Playbook で生成されるファクトは、Tower によってデータベースに保存されます。新規ファクトは既存ファクトにマージされ、ホストごとに設定されます。これらの保存されるファクトは、GET
クエリーパラメーター host_filter
を使用し、/api/v2/hosts
エンドポイント経由でホストをフィルターする際に使用できます。例: /api/v2/hosts?host_filter=ansible_facts__ansible_processor_vcpus=8
host_filter
パラメーターは以下を許可します。
() でのグループ化
ブール値および演算子の使用:
__
: 関連付けられたフィールドの関連フィールドを参照します。
__
: JSON キーパスでキーを分離するために ansible_facts で使用されます。
[]
: パスの指定で json アレイを表すために使用されます。
""
: 値にスペースが必要な場合、その値に使用されます。
「標準的な」Django クエリーを host_filter
に組み込むことができる
例:
/api/v2/hosts/?host_filter=name=localhost
/api/v2/hosts/?host_filter=ansible_facts__ansible_date_time__weekday_number="3"
/api/v2/hosts/?host_filter=ansible_facts__ansible_processor[]="GenuineIntel"
/api/v2/hosts/?host_filter=ansible_facts__ansible_lo__ipv6[]__scope="host"
/api/v2/hosts/?host_filter=ansible_facts__ansible_processor_vcpus=8
/api/v2/hosts/?host_filter=ansible_facts__ansible_env__PYTHONUNBUFFERED="true"
/api/v2/hosts/?host_filter=(name=localhost or name=database) and (groups__name=east or groups__name="west coast") and ansible_facts__an
トピック:
ホストを入力できる認証情報タイプに一致するソースを選択します。
プロジェクトから取得されるインベントリーは、それが関連付けられているプロジェクトの SCM タイプを使用します。たとえば、プロジェクトのソースが GitHub にあるか、または Red Hat Insights プロジェクトである場合、インベントリーは同じソースを使用します。
プロジェクトから取得されるインベントリーを設定するには、「ソース」フィールドから ソース: プロジェクト を選択します。
「ソースの作成」ウィンドウは追加フィールドと共に展開されます。以下の詳細を入力します。
認証情報: このソースに使用する認証情報を指定します。
プロジェクト: 必須。このインベントリーがソースとして使用しているプロジェクトを指定します。 ボタンをクリックしてプロジェクトの一覧から選択します。一覧に多くのオプションが含まれる場合、検索を使用してオプションの範囲を絞ります。
インベントリーファイル: 必須。取得されたプロジェクトに関連付けられたインベントリーファイルを選択します。データが入力されていない場合には、ドロップダウンメニューのテキストフィールドに、データを入力して異種のファイルタイプをフィルタリングします。フラットファイルインベントリー以外に、ディレクトリーやインベントリースクリプトを参照することもできます。
クラウドインベントリーソースで選択できる更新オプションのほかに、プロジェクトの変更時に更新するかどうかを指定できます。プロジェクト変更時の更新 オプションにチェックを付けて、SCM リビジョンが変更されるプロジェクトの毎回の更新後に、選択されたソースのインベントリーを更新してからジョブのタスクを実行します。
カスタムインベントリースクリプトに渡すには、オプションで 環境変数 フィールドに環境変数を設定できます。
AWS EC2 から取得されるインベントリーを設定するには、「ソース」フィールドから ソース: プロジェクト を選択します。
「ソースの作成」ウィンドウは追加フィールドと共に展開されます。以下の詳細を入力します。
認証情報: 既存の認証情報から選択します (詳細は、認証情報 を参照してください)。
Tower が割り当てられた IAM ロールを使って EC2 インスタンスで実行されている場合は、認証情報を省略でき、インスタンスメタデータのセキュリティー認証情報が代わりに使用されます。IAM ロールの使用についての詳細は、IAM_Roles_for_Amazon_EC2_documentation_at_Amazon を参照してください。
リージョン: リージョンフィールドをクリックして、クラウドプロバイダーのリージョンの一覧を表示します。複数のリージョンを選択するか、または「すべて」を選択してすべてのリージョンを組み込むことができます。Tower は選択されたリージョンに関連付けられたホストの場合にのみ更新されます。
インスタンスフィルター: Amazon EC2 インベントリー全体をインポートする代わりに、各種のメタデータに基づいてインベントリースクリプトで返されるインスタンスをフィルターします。ホストがここに入力されるフィルターのいずれかに一致する場合にインポートされます。
例:
タグ
TowerManaged
を持つホストに制限するには、tag-key=TowerManaged
を入力します。キー名
staging
またはproduction
のいずれかを使用するホストに制限するには、key-name=staging, key-name=production
を入力します。
Name
タグがtest
で開始するホストに制限するには、tag:Name=test*
を入力します。ここで使用できるフィルターについての詳細は、Amazon の Describe Instances ドキュメントを参照してください。
グループ化のみ: デフォルトで、Tower は以下の Amazon EC2 パラメーターに基づいてグループを作成します。
アベイラビリティーゾーン
イメージ ID
インスタンス ID
インスタンスタイプ
キー名
リージョン
セキュリティーグループ
タグ (名前別)
VPC ID
タグ None
これらすべてのグループを作成する必要がない場合、デフォルトで作成する必要のあるグループの一覧をドロップダウンから選択します。さらに
インスタンス ID
を選択し、インスタンスのインスタンス ID に基づいてグループを作成することもできます。
ソース変数 フィールドを使用して、ec2.ini
にあり、インベントリー更新スクリプトで使用される変数を上書きします。JSON または YAML 構文のいずれかを使用して変数を入力します。ラジオボタンを使用してこれら 2 つの間の切り替えを行います。これらの変数についての詳細は、Ansible GitHub リポジトリーの ec2.ini を参照してください。
Google から取得されるインベントリーを設定するには、「ソース」フィールドから Google Compute Engine を選択します。
「ソースの作成」ウィンドウは追加フィールドと共に展開されます。以下の詳細を入力します。
認証情報: 必須。既存の認証情報から選択します。詳細は、認証情報 を参照してください。
リージョン: リージョンフィールドをクリックして、クラウドプロバイダーのリージョンの一覧を表示します。複数のリージョンを選択するか、または「すべて」を選択してすべてのリージョンを組み込むことができます。Tower は選択されたリージョンに関連付けられたホストの場合にのみ更新されます。
Azure から取得されるインベントリーを設定するには、「ソース」フィールドから Microsoft Azure Classic (deprecated) を選択します。
「ソースの作成」ウィンドウは追加フィールドと共に展開されます。以下の詳細を入力します。
認証情報: 必須。既存の認証情報から選択します。詳細は、認証情報 を参照してください。
リージョン: リージョンフィールドをクリックして、クラウドプロバイダーのリージョンの一覧を表示します。複数のリージョンを選択するか、または「すべて」を選択してすべてのリージョンを組み込むことができます。Tower は選択されたリージョンに関連付けられたホストの場合にのみ更新されます。
Azure Resource Manager から取得されるインベントリーを設定するには、「ソース」フィールドから Microsoft Azure Resource Managee を選択します。
「ソースの作成」ウィンドウは追加フィールドと共に展開されます。以下の詳細を入力します。
認証情報: 必須。既存の認証情報から選択します。詳細は、認証情報 を参照してください。
リージョン: リージョンフィールドをクリックして、クラウドプロバイダーのリージョンの一覧を表示します。複数のリージョンを選択するか、または「すべて」を選択してすべてのリージョンを組み込むことができます。Tower は選択されたリージョンに関連付けられたホストの場合にのみ更新されます。
VMWare から取得されるインベントリーを設定するには、「ソース」フィールドから VMware vCenter を選択します。
「ソースの作成」ウィンドウは追加フィールドと共に展開されます。以下の詳細を入力します。
認証情報: 必須。既存の認証情報から選択します (詳細は、認証情報 を参照してください)。
インスタンスフィルター: VMWare インベントリー全体をインポートする代わりに、各種のメタデータに基づいてインベントリースクリプトで返されるインスタンスをフィルターします。ここに入力されるフィルターのいずれかに一致するホストはインポートされます。
ここで使用できるフィルターについての詳細は、VMware の Quick Filters Available for vSphere Objects ドキュメントを参照してください。
グループ化のみ: デフォルトで、Tower はユーザー指定の VMWare パラメーターに基づいてグループを作成します。たとえば、
インスタンス ID
を入力してインスタンスのインスタンス ID に基づいてグループを作成します。
ソース変数 フィールドを使用して、vmware.ini
にあり、インベントリー更新スクリプトで使用される変数を上書きします。JSON または YAML 構文のいずれかを使用して変数を入力します。ラジオボタンを使用してこれら 2 つの間の切り替えを行います。これらの変数についての詳細は、Ansible GitHub リポジトリーの vmware_inventory.ini を参照してください。
注釈
VMware のインベントリースクリプトは Ansible Tower 3.1.2 で更新され、host_filters
または groupby_patterns
パラメーターの設定が可能になりました。「グループの作成」画面または「グループの編集」画面の ソース変数 テキストフィールドでそれらの値を指定します。以下は例になります。
Red Hat Satellite から取得されるインベントリーを設定するには、「ソース」フィールドから Red Hat Satellite を選択します。
「ソースの作成」ウィンドウは追加フィールドと共に展開されます。
認証情報: 必須。既存の認証情報から選択します (詳細は、認証情報 を参照してください)。
ソース変数 フィールドを使用して、
foreman.ini
にあり、インベントリー更新スクリプトで使用される変数を上書きします。
注釈
foreman.ini
からの want_facts
変数は True
にハードコード化されており、ここでは上書きできません。group_patterns
、group_prefix
または want_hostcollections
変数を設定する場合には、satellite6_group_prefix: myprefix` など、プリフィックスとして satellite6
を指定してください。
JSON または YAML 構文のいずれかを使用して変数を入力します。ラジオボタンを使用してこれら 2 つの間の切り替えを行います。これらの変数についての詳細は、Ansible GitHub リポジトリーの foreman.ini を参照してください。
Red Hat CloudForms から取得されるインベントリーを設定するには、「ソース」フィールドから Red Hat CloudForms を選択します。
「ソースの作成」ウィンドウは追加フィールドと共に展開されます。以下の詳細を入力します。
認証情報: 必須。既存の認証情報から選択します (詳細は、認証情報 を参照してください)。
ソース変数 フィールドを使用して、
cloudforms.ini
にあり、インベントリー更新スクリプトで使用される変数を上書きします。JSON または YAML 構文のいずれかを使用して変数を入力します。ラジオボタンを使用してこれら 2 つの間の切り替えを行います。これらの変数についての詳細は、Ansible GitHub リポジトリーの cloudforms.ini を参照してください。
OpenStack から取得されるインベントリーを設定するには、「ソース」フィールドから OpenStack を選択します。
「ソースの作成」ウィンドウは追加フィールドと共に展開されます。以下の詳細を入力します。
認証情報: 必須。既存の認証情報から選択します (詳細は、認証情報 を参照してください)。
ソース変数 フィールドを使用して、
openstack.yml
にあり、インベントリー更新スクリプトで使用される変数を上書きします。JSON または YAML 構文のいずれかを使用して変数を入力します。ラジオボタンを使用してこれら 2 つの間の切り替えを行います。これらの変数についての詳細は、Ansible GitHub リポジトリーの openstack.yml を参照してください。
Red Hat Virtualization から取得されるインベントリーを設定するには、「ソース」フィールドから Red Hat Virtualization を選択します。
「ソースの作成」ウィンドウは追加のフィールドと共に展開されます。認証情報 は必須です。既存の認証情報から選択します (詳細は、認証情報 を参照してください)。
Ansible Tower から取得されるインベントリーを設定するには、「ソース」フィールドから Ansible Tower を選択します。
「ソースの作成」ウィンドウは追加フィールドと共に展開されます。以下の詳細を入力します。
認証情報: 必須。既存の認証情報から選択します (詳細は、認証情報 を参照してください)。
インスタンスフィルター: Tower インベントリー全体をインポートする代わりに、インベントリー ID/名前でインスタンスをフィルターします。インベントリースクリプトはそのインベントリーを他の Tower インスタンスから返します。
Tower では、カスタム動的インベントリースクリプトを使用できます (管理者が追加している場合)。
カスタムスクリプトから取得されるインベントリーを設定するには、「ソース」フィールドから カスタムスクリプト を選択します。
「ソースの作成」ウィンドウは追加フィールドと共に展開されます。以下の詳細を入力します。
認証情報: カスタムソースの認証情報をオプションで指定できます。認証情報の種類は「クラウド」および「ネットワーク」に制限されます。詳細は、カスタム認証情報タイプ を参照してください。
カスタムインベントリースクリプト: 必須。既存のインベントリースクリプトから選択します (詳細は、カスタムインベントリースクリプト を参照してください)。
環境変数: インベントリー更新スクリプトで使用される環境の変数を設定します。変数は作成したスクリプトに固有の変数である場合があります。JSON または YAML 構文のいずれかを使用して変数を入力します。ラジオボタンを使用して、これらの切り替えを行います。
カスタムインベントリースクリプトの同期または使用についての詳細は、Ansible Tower Administration Guide の カスタムインベントリースクリプト を参照してください。
アドホックコマンドを実行するには、以下を実行します。
ホストまたはグループの一覧からインベントリーソースを選択します。インベントリーソースは単一グループまたはホストにすることも、複数のホストのセレクションや複数グループのセレクションにすることもできます。
ボタンをクリックします。
「コマンドの実行」ウィンドウが開きます。
以下のフィールドに詳細を記入します。
モジュール: Tower がコマンドの実行での使用をサポートしているモジュールのいずれかを選択します。
command |
apt_repository |
mount |
win_service |
shell |
apt_rpm |
ping |
win_updates |
yum |
service |
selinux |
win_group |
apt |
group |
setup |
win_user |
apt_key |
user |
win_ping |
引数: 選択したモジュールで使用する引数を指定します。
制限: インベントリー内のホストをターゲットとして設定するために使用される制限を入力します。インベントリー内のすべてのホストをターゲットに設定するには、all
または *
を入力するか、またはフィールドを空白にします。これには、起動ボタンのクリック前の直前のビューで選択された内容が自動的に設定されます。
マシンの認証情報: コマンドを実行するためにリモートホストにアクセスする際に使用する認証情報を選択します。Ansible がリモートホストにログインするのに必要なユーザー名および SSH キーまたはパスワードが含まれる認証情報を選択します。
詳細: 標準出力の詳細レベルを選択します。
フォーク: 必要な場合には、コマンドの実行中に使用する並列または同時プロセスの数を選択します。
変更の表示: 選択して標準出力での Ansible の変更の表示を有効にします。デフォルトはオフになります。
権限昇格の有効化: 有効にされている場合、Playbook は管理者権限を使用して実行されます。これは --become
オプションを ansible
コマンドに渡すことに相当します。
追加変数: このインベントリーの実行時に適用される追加のコマンドライン変数を指定します。JSON または YAML 構文のいずれかを使用して変数を入力します。ラジオボタンを使用してこれら 2 つの間の切り替えを行います。
起動 ボタンをクリックして、このアドホックコマンドを実行します。
結果は「Job Results (ジョブの結果)」および「標準出力」ウィンドウに表示されます。