18.4. 新規インベントリーの追加
新しいインベントリーの追加には、次のコンポーネントが含まれます。
インベントリーを作成するには、次の手順を使用します。
手順
-
ナビゲーションパネルから、
を選択します。Inventories ウィンドウには、現在使用可能なインベントリーのリストが表示されます。 - をクリックし、作成するインベントリーのタイプを選択します。
以下のフィールドに該当する詳細を入力します。
- Name: このインベントリーに適した名前を入力します。
- オプション: Description: 任意の説明を入力します (オプション)。
- Organization: 必須。利用可能な組織の中から選択します。
スマートインベントリー (Smart Host Filter) にのみ適用: アイコンをクリックして別のウィンドウを開き、このインベントリーのホストをフィルタリングします。これらのオプションは、選択した組織に基づいています。
フィルターは、タグがそれらの名前を含む特定のホストをフィルタリングするために使用されるという点でタグに似ています。したがって、Smart Host Filter フィールドに値を設定するには、ホスト自体ではなく、必要なホストを含むタグを指定します。Search フィールドにタグを入力し、 をクリックします。フィルターでは大文字と小文字が区別されます。詳細は、スマートホストフィルター を参照してください。
Instance Groups: アイコンをクリックすると、別のウィンドウが開きます。このインベントリーを実行するインスタンスグループを選択します。リストが膨大な場合は、検索を使用してオプションを絞り込みます。複数のインスタンスグループを選択し、実行する順序で並べ替えることができます。
- オプション: Labels: このインベントリーを説明するラベルを指定するため、インベントリーとジョブのグループ化とフィルタリングに使用できます。
- 構築されたインベントリーにのみ適用されます。Input inventories: この構築されたインベントリーに含めるソースインベントリーを指定します。 アイコンをクリックして、利用可能なインベントリーから選択します。入力インベントリーの空のグループは、構築されたインベントリーにコピーされます。
- オプション:(構築されたインベントリーにのみ適用可能): キャッシュされたタイムアウト (秒): キャッシュプラグインデータのタイムアウト時間を設定します。
構築されたインベントリーにのみ適用されます。Verbosity: 構築されたインベントリーに関連付けられたインベントリーソースに関連する Playbook の実行時に Ansible が生成する出力のレベルを制御します。冗長性を標準からさまざまな冗長またはデバッグ設定まで選択します。これは "details" のレポートビューにのみ表示されます。
- 詳細ログには、すべてのコマンドの出力が含まれます。
- デバッグログは非常に詳細であり、特定のサポートインスタンスで役立つ SSH 操作に関する情報が含まれています。ほとんどのユーザーはデバッグモードの出力を確認する必要はありません。
- 構築されたインベントリーにのみ適用されます。Limit: 構築されたインベントリーに関連付けられたインベントリーソースに対して返されるホストの数を制限します。グループ名を limit フィールドに貼り付けて、そのグループ内のホストのみを含めることができます。詳細は、Source vars 設定を参照してください。
標準インベントリーにのみ適用されます。オプション: Prevent Instance Group Fallback オプションをオンにして、Instance Groups フィールドにリストされているインスタンスグループのみがジョブを実行できるようにします。チェックを外すと、Automation Controller 管理ガイド の ジョブが実行される場所の制御 で説明されている階層に基づいて、実行プール内の使用可能なすべてのインスタンスが使用されます。 アイコンをクリックすると追加情報が表示されます。
注記API を介してスマートインベントリーの
Prevent_instance_group_fallback
オプションを設定します。Variables (構築されたインベントリーの Source vars):
- Variables このインベントリー内のすべてのホストに適用する変数の定義と値。JSON または YAML 構文を使用して変数を入力します。ラジオボタンを使用して、その 2 つを切り替えます。
-
構築されたインベントリーの Source vars は、特にデータの
groups
キーの下にグループを作成します。Jinja2 テンプレート構文を受け入れ、すべてのホストに対してレンダリングし、true
またはfalse
の評価を行い、結果がtrue
の場合はそのホストを (エントリーのキーから) グループに含めます。これは、そのグループ名を limit フィールドに貼り付けて、そのグループ内のホストのみを含めることができるため、特に便利です。スマートホストフィルター の例 1 を参照してください。
- をクリックします。
新規インベントリーが保存された後に、パーミッション、グループ、ホスト、およびソースの設定や、完了したジョブの表示に進みます (インベントリーのタイプに応じて適用可能な場合)。
18.4.1. インベントリーへのパーミッションの追加
インベントリーにパーミッションを追加するには、次の手順を使用します。
手順
-
ナビゲーションパネルから、
を選択します。 - テンプレートを選択し、Access tab で をクリックします。
- 追加するユーザーまたはチームを選択し、 をクリックします。
- 名前の横にあるチェックボックスを選択して、リストからユーザーまたはチームを 1 つ以上メンバーとして追加します。
この例では、追加するユーザーが 2 つ選択されています。
選択したユーザーまたはチームに付与するロールを選択します。下にスクロールして、ロールの完全なリストを表示します。リソースが異なれば、利用可能なオプションも異なります。
- をクリックして、選択したユーザーまたはチームにロールを適用し、メンバーとして追加します。
ユーザー/チームの追加ウィンドウが閉じ、各ユーザーやチームに割り当てられた更新済みのロールが表示されます。
パーミッションの削除
- 特定のユーザーのロールを削除するには、リソースの横にある アイコンをクリックします。
これにより、確認ウィンドウが起動し、関連付けの解除を確認するよう求められます。
18.4.2. インベントリーへのグループの追加
インベントリーはグループに分割されており、グループにはホストと他のグループを含めることができます。グループは標準インベントリーにのみ適用できます。スマートインベントリーを使用して直接設定できません。標準インベントリーで使用されるホストを介して既存のグループを関連付けることができます。
標準インベントリーでは次のアクションを使用できます。
- 新規グループの作成
- 新規ホストの作成
- 選択したインベントリーでのコマンドの実行
- インベントリープロパティーの編集
- グループおよびホストのアクティビティーストリームの表示
- インベントリーの構築に関するヘルプの取得
インベントリーソースはグループに関連付けられません。生成されたグループはトップレベルであり、引き続き子グループを持つことができます。これらの生成されたグループはいずれも、ホストを持つことができます。
インベントリーの新しいグループを作成するには、次の手順を使用します。
手順
- グループを追加するインベントリー名を選択します。
- インベントリーの Details ページで、Groups タブを選択します。
- Create Group ウィンドウを開きます。 をクリックして
適切な詳細を入力します。
- Name: 必須
- オプション: Description: 必要に応じて説明を入力します。
- Variables: このグループ内のすべてのホストに適用される定義と値を入力します。JSON または YAML 構文を使用して変数を入力します。ラジオボタンを使用して、その 2 つを切り替えます。
- をクリックします。
- テンプレートにグループを追加すると、Group details ページが表示されます。
18.4.2.1. グループ内でのグループの追加
グループ内でグループを追加するには、次の手順を使用します。
手順
- テンプレートにグループを追加すると、Group details ページが表示されます。
- Related Groups タブを選択します。
- をクリックします。
- 設定にすでに存在するグループを追加するか、新しいグループを作成するかを選択します。
新規グループを作成する場合、該当する詳細情報を必須およびオプションフィールドに入力します。
- Name (必須):
- オプション: Description: 必要に応じて説明を入力します。
- Variables: このグループ内のすべてのホストに適用される定義と値を入力します。JSON または YAML 構文を使用して変数を入力します。ラジオボタンを使用して、その 2 つを切り替えます。
- をクリックします。
- Create Group ウィンドウが閉じ、新規に作成されたグループが、元のグループに関連付けられたグループのリストのエントリーとして表示されます。
既存グループを追加する選択をした場合、選択可能なグループが別個の選択ウィンドウに表示されます。
グループを選択すると、そのグループに関連付けられているグループのリストに表示されます。
- サブグループの下に追加のグループとホストを設定するには、グループのリストからサブグループの名前をクリックし、このセクションに記載されている手順を繰り返します。
18.4.2.2. インベントリーグループの表示または編集
グループリストビューにはすべてのインベントリーグループが表示されます。また、ルートグループのみを表示するようにフィルタリングすることもできます。インベントリーグループは、別のグループのサブセットではない場合、ルートグループとみなされます。
Automation controller は子グループやホストなどの依存関係を検索するため、依存関係を気にせずにサブグループを削除できます。存在する場合は、ルートグループとそのすべてのサブグループおよびホストを削除するかどうかを選択する確認ウィンドウが表示されます。または、サブグループをプロモートして、ホストとともに最上位のインベントリーグループになります。
18.4.3. インベントリーへのホストの追加
インベントリーだけでなく、グループやグループ内のグループに対してもホストを設定できます。
ホストを追加するには、次の手順を使用します。
手順
- グループを追加するインベントリー名を選択します。
- インベントリーの Details ページで、Hosts タブを選択します。
- をクリックします。
- 設定にすでに存在するホストを追加するか、新しいホストを作成するかを選択します。
- 新しいホストを作成する場合は、トグルを On に設定して、ジョブの実行中にこのホストを含めます。
適切な詳細を入力します。
- Host Name (必須):
- オプション: Description: 必要に応じて説明を入力します。
Variables: 次の例のように、このグループ内のすべてのホストに適用される定義と値を入力します。
{ ansible_user : <username to ssh into> ansible_ssh_pass : <password for the username> ansible_become_pass: <password for becoming the root> }
JSON または YAML 構文を使用して変数を入力します。ラジオボタンを使用して、その 2 つを切り替えます。
- をクリックします。
Create Host ウィンドウが閉じ、新規に作成されたホストが、元のグループに関連付けられたホストのリストのエントリーとして表示されます。
既存ホストを追加する選択をした場合、選択可能なホストが別個の選択ウィンドウに表示されます。
ホストを選択すると、グループに関連付けられているホストのリストに表示されます。
この画面でホストを選択し、 アイコンをクリックしてホストの関連付けを解除します。
注記この画面からアドホックコマンドを実行することもできます。詳細は、「アドホックコマンドの実行」を参照してください。
ホストの追加グループを設定するには、ホストのリストからホストの名前をクリックします。
これにより、選択したホストの Details タブが開きます。
- Groups タブをクリックして、ホストのグループを設定します。
ホストに関連付けるグループを選択し、
をクリックします。グループが関連付けられている場合、そのグループはホストに関連付けられているグループのリストに表示されます。
- ホストを使用してジョブを実行した場合は、ホストの Completed Jobs タブでそのようなジョブの詳細を表示できます。
API に新しく追加されたエンドポイント /api/v2/bulk/host_create
を使用して、ホストを一括作成できます。このエンドポイントは JSON を受け入れ、ターゲットインベントリーとインベントリーに追加するホストのリストを指定できます。これらのホストはインベントリー内で一意である必要があります。すべてのホストが追加されるか、操作が完了できなかった理由を示したエラーが返されます。OPTIONS リクエストを使用して、関連するスキーマを返します。
詳細は、Automation controller API ガイド の バルクエンドポイント を参照してください。
18.4.4. ソースの追加
インベントリーソースはグループに関連付けられません。生成されたグループはトップレベルであり、引き続き子グループを持つことができます。これらの生成されたグループはいずれも、ホストを持つことができます。インベントリーへのソースの追加は、標準インベントリーにのみ適用されます。スマートインベントリーは、関連付けられている標準インベントリーからソースを継承します。
インベントリーのソースを設定するには、次の手順を使用します。
手順
- ソースを追加するインベントリー名を選択します。
- インベントリーの Details ページで、Sources タブを選択します。
Create Source ウィンドウが開きます。
をクリックします。これにより、適切な詳細を入力します。
- Name (必須):
- オプション: Description: 必要に応じて説明を入力します。
- オプション: Execution Environment: アイコンを選択するか、インベントリーのインポートを実行する実行環境の名前を入力します。実行環境の構築の詳細は、実行環境 を参照してください。
- Source: Inventory のソースを選択します。ソースの詳細と適切な情報の提供については、インベントリーソース を参照してください。
- 選択した インベントリーソース の情報がすべて揃ったら、オプションで、冗長性、ホストフィルター、変数などの他の共通パラメーターを指定できます。
- Verbosity メニューを使用して、インベントリーソースの更新ジョブの出力レベルを選択します。
- Host Filter フィールドを使用して、automation controller. にインポートされる一致するホスト名のみを指定します。
-
Enabled Variable フィールドで、Automation controller がホスト変数のディクショナリーから有効な状態を取得することを指定します。ドット表記を使用して有効な変数を 'foo.bar' として指定できます。この場合、ルックアップは
from_dict.get('foo', {}).get('bar', default)
と同等のネストされたディクショナリーを検索します。 Enabled Variable フィールドでホスト変数のディクショナリーを指定した場合は、インポート時に有効にする値を指定できます。たとえば、次のホスト変数の
enabled_var='status.power_state'
および'enabled_value='powered_on'
の場合、ホストはenabled
とマークされます。{ "status": { "power_state": "powered_on", "created": "2020-08-04T18:13:04+00:00", "healthy": true }, "name": "foobar", "ip_address": "192.168.2.1" }
power_state
がpowered_on
以外の値の場合、Automation controller へのインポート時にホストは無効になります。キーが見つからない場合、ホストは有効になっています。すべてのクラウドインベントリーソースには、以下の更新オプションがあります。
Overwrite: チェックされている場合は、外部ソースにこれまで存在していたが現在は削除されているホストとグループが Automation controller インベントリーから削除されます。インベントリーソースの管理対象ではなかったホストとグループは、次に手動で作成されたグループにプロモートされます。または、これらをプロモートする手動で作成されたグループがない場合は、インベントリーの「すべて」のデフォルトグループに残されます。
チェックが付けられていない場合、外部ソースにないローカルの子ホストおよびグループは、インベントリーの更新プロセスによって処理されないままになります。
Overwrite Variables: チェックが付けられている場合、子グループとホストのすべての変数が削除され、外部ソースで見つかった変数に置き換えられます。
チェックが付けられていない場合は、ローカル変数と外部ソースにあるものを組み合わせるマージが実行されます。
Update on Launch: このインベントリーを使用してジョブを実行するたびに、ジョブタスクの実行前に選択したソースからのインベントリーが更新されます。
インベントリーの同期よりも早くジョブが生成された場合のジョブのオーバーフローを回避するために、こちらを選択すると、以前のインベントリー同期を一定の秒数キャッシュするための Cache Timeout を設定できます。
Update on Launch 設定は、プロジェクトとインベントリーの依存関係システムを参照しており、2 つのジョブの同時実行を特に除外するものではありません。
キャッシュタイムアウトが指定されている場合、2 番目のジョブの依存関係が作成され、最初のジョブが生成したプロジェクトとインベントリーの更新が使用されます。
その後、両方のジョブは、そのプロジェクトまたはインベントリーの更新が完了するのを待ってから続行します。ジョブテンプレートが異なり、システムにその機能がある場合は、両方を同時に開始および実行できます。動的インベントリーソースで Automation controller のプロビジョニングコールバック機能を使用する場合は、インベントリーグループに対して 起動時の更新 を設定する必要があります。
起動時の更新 が設定されているプロジェクトを使用するインベントリーソースを同期すると、インベントリーの更新が開始される前に、(キャッシュタイムアウトルールに従って) プロジェクトが自動的に更新される可能性があります。
テンプレートが使用するのと同じプロジェクトから取得するインベントリーを使うように、ジョブテンプレートを作成できます。このような場合、プロジェクトが更新されてからインベントリーが更新されます (更新がまだ進行中でない場合、またはキャッシュタイムアウトがまだ期限切れになっていない場合)。
- 入力内容と選択内容を確認します。これにより、スケジュールや通知などの追加の詳細を設定できます。
このインベントリーソースに関連付けられているスケジュールを設定するには、Schedules タブをクリックします。
- スケジュールがすでに設定されている場合は、スケジュール設定を確認、編集、有効化または無効化します。
- スケジュールが設定されていない場合、スケジュールの設定の詳細は、スケジュール を参照してください。
18.4.5. ソースの通知の設定
ソースの通知を設定するには、次の手順を使用します。
インベントリーの Details ページで、Notifications を選択します。
注記Notifications タブは、新しく作成したソースを保存した場合にのみ表示されます。
- 通知がすでに設定されている場合は、トグルを使用して、特定のソースで使用する通知を有効または無効にします。詳細は、通知の有効化と無効化 を参照してください。
- 通知が設定されていない場合、詳細は 通知 を参照してください。
- 入力内容と選択内容を確認します。
- をクリックします。
ソースが定義されると、インベントリーに関連付けられたソースのリストに表示されます。Sources タブから、単一のソースに対して同期を実行することも、すべてのソースを一度に同期することもできます。同期プロセスのスケジュール設定など、追加アクションを実行したり、ソースを編集または削除したりすることもできます。
18.4.5.1. インベントリーソース
ホストを入力できるインベントリータイプに一致するソースを選択します。
18.4.5.1.1. プロジェクトからの取得
イベントリーをプロジェクトから取得する場合は、紐づけられているプロジェクトの SCM タイプを使用します。たとえば、プロジェクトのソースが GitHub からのものである場合、インベントリーでは同じソースが使用されます。
プロジェクトをソースとするインベントリーを設定するには、次の手順を使用します。
手順
- Create new source ページで、Source リストから Sourced from a Project を選択します。
ソースの作成ウィンドウは追加フィールドと共にデプロイメントされます。以下の詳細を入力します。
オプション: Source Control Branch/Tag/Commit: チェックアウトするソースコントロール (Git または Subversion) からの SCM ブランチ、タグ、コミットハッシュ、任意の参照、またはリビジョン番号 (該当する場合) を入力します。
このフィールドは、ソースプロジェクトで Allow Branch Override オプションがチェックされている場合にのみ表示されます。詳細は、SCM タイプ - Git および Subversion を参照してください。
次のフィールドにカスタム refspec も指定しない限り、一部のコミットハッシュと参照は使用できない場合があります。空白のままにした場合、デフォルトは HEAD です。これは、このプロジェクトで最後にチェックアウトされたブランチ/タグ/コミットです。
- 認証情報: このソースに使用する認証情報を指定します。
- プロジェクト (必須): デフォルトのプロジェクトが事前に入力されます。それ以外の場合は、このインベントリーがソースとして使用しているプロジェクトを指定します。 アイコンをクリックしてプロジェクトのリストから選択します。リストが膨大な場合は、検索を使用してオプションを絞り込みます。
インベントリーファイル (必須): 取得したプロジェクトに関連付けられたインベントリーファイルを選択します。まだ入力されていない場合は、メニュー内のテキストフィールドに入力して、無関係なファイルタイプをフィルタリングできます。フラットファイルインベントリーに加えて、ディレクトリーまたはインベントリースクリプトを参照することもできます。
- オプション: Adding a source で説明されているように、詳細度、ホストフィルター、有効な変数または値、および更新オプションを指定できます。
- オプション: カスタムインベントリースクリプトに渡すために、環境変数 フィールドで環境変数を設定できます。インベントリースクリプトをソースコントロールに配置し、プロジェクトから実行することもできます。詳細は、Automation Controller 管理ガイド の インベントリーファイルのインポート を参照してください。
SCM からカスタムインベントリースクリプトを実行している場合は、アップストリームのソースコントロールでスクリプトの実行ビット (chmod +x
) を設定していることを確認してください。
そうしないと、Automation controller は実行時に [Errno 13] Permission denied
エラーが発生します。
18.4.5.1.2. Amazon Web Services EC2
次の手順を使用して、AWS EC2 ソースのインベントリーを設定します。
手順
- Create new source ページで、Source リストから Amazon EC2 を選択します。
Create Source ウィンドウは追加フィールドと共にデプロイメントされます。以下の詳細を入力します。
オプション: 認証情報: 既存の AWS 認証情報から選択します (詳細は、認証情報 を参照してください)。
Automation controller が IAM ロールが割り当てられた EC2 インスタンス上で実行されている場合、認証情報は省略でき、代わりにインスタンスメタデータのセキュリティー認証情報が使用されます。IAM ロールの使用の詳細は、 IAM_Roles_for_Amazon_EC2_documentation_at_Amazon を参照してください。
- オプション: Adding a source で説明されているように、詳細度、ホストフィルター、有効な変数または値、および更新オプションを指定できます。
-
Source Variables フィールドを使用して、
aws_ec2
インベントリープラグインで使用される変数をオーバーライドします。JSON または YAML 構文を使用して変数を入力します。ラジオボタンを使用して、その 2 つを切り替えます。これらの変数の詳細は、aws インベントリープラグインのドキュメント を参照してください。
include_filters
のみを使用する場合、AWS プラグインは常にすべてのホストを返します。これを正しく使用するには、フィルター
に or
の最初の条件を設定し、残りの OR
条件を include_filters
のリストに基づいて構築する必要があります。
18.4.5.1.3. Google Compute Engine
Google が提供するインベントリーを設定するには、次の手順を使用します。
手順
- Create new source ページで、Source から Google Compute Engine を選択します。
- Create Source ウィンドウが展開され、必要な Credential フィールドが表示されます。既存の GCE 認証情報から選択します。詳細は、Credentials を参照してください。
- オプション: Adding a source で説明されているように、詳細度、ホストフィルター、有効な変数または値、および更新オプションを指定できます。
-
Source Variables フィールドを使用して、
gcp_compute
インベントリープラグインで使用される変数をオーバーライドします。JSON または YAML 構文を使用して変数を入力します。ラジオボタンを使用して、その 2 つを切り替えます。これらの変数の詳細は、gcp_compute インベントリープラグインのドキュメント を参照してください。
18.4.5.1.4. Microsoft Azure Resource Manager
次の手順を使用して、Azure Resource Manager ソースのインベントリーを設定します。
手順
- Create new source ページで、Source リストから Microsoft Azure Resource Manager を選択します。
- Create Source ウィンドウが展開され、必要な Credential フィールドが表示されます。既存の Azure 認証情報から選択します。詳細は、Credentials を参照してください。
- オプション: Adding a source で説明されているように、詳細度、ホストフィルター、有効な変数または値、および更新オプションを指定できます。
-
Source Variables フィールドを使用して、
azure_rm
インベントリープラグインで使用される変数をオーバーライドします。JSON または YAML 構文を使用して変数を入力します。ラジオボタンを使用して、その 2 つを切り替えます。これらの変数の詳細は、azure_rm インベントリープラグインのドキュメント を参照してください。
18.4.5.1.5. VMware vCenter
VMware をソースとするインベントリーを設定するには、次の手順を使用します。
手順
- Create new source ページで、Source リストから VMware vCenter を選択します。
- Create Source ウィンドウが展開され、必要な Credential フィールドが表示されます。既存の VMware 認証情報から選択します。詳細は、Credentials を参照してください。
- オプション: Adding a source で説明されているように、詳細度、ホストフィルター、有効な変数または値、および更新オプションを指定できます。
-
Source Variables フィールドを使用して、
vmware_inventory
インベントリープラグインで使用される変数をオーバーライドします。JSON または YAML 構文を使用して変数を入力します。ラジオボタンを使用して、その 2 つを切り替えます。これらの変数の詳細は、vmware_inventory インベントリープラグイン を参照してください。
VMWare プロパティーが小文字からキャメルケースに変更されました。Automation controller はトップレベルのキーのエイリアスを提供しますが、ネストされたプロパティーの小文字キーは廃止されました。サポート対象の有効なプロパティーのリストについては、VMware 動的インベントリープラグインでの仮想マシン属性の使用 を参照してください。
18.4.5.1.6. Red Hat Satellite 6
Red Hat Satellite をソースとするインベントリーを設定するには、次の手順を使用します。
手順
- Create new source ページで、Source リストから Red Hat Satellite を選択します。
- Create Source ウィンドウが展開され、必要な Credential フィールドが表示されます。既存の Satellite 認証情報から選択します。詳細は、Credentials を参照してください。
- オプション: Adding a source で説明されているように、詳細度、ホストフィルター、有効な変数または値、および更新オプションを指定できます。
-
Source Variables フィールドを使用して、
foreman
インベントリーソースで使用されるパラメーターを指定します。JSON または YAML 構文を使用して変数を入力します。ラジオボタンを使用して、その 2 つを切り替えます。これらの変数の詳細は、Ansible ドキュメントの Foreman インベントリーソース を参照してください。
automation controller インベントリーで Satellite から「関連グループ」が含まれない場合には、インベントリーソースでこれらの変数を定義する必要がある場合があります。詳細は、Red Hat Satellite 6 を参照してください。
"no foreman.id" variable(s) when syncing the inventory
というメッセージが表示された場合は、Red Hat カスタマーポータル (https://access.redhat.com/solutions/5826451) で解決策を参照してください。記事全文にアクセスするには、必ず顧客の認証情報でログインしてください。
18.4.5.1.7. Red Hat Insights
Red Hat Insights をソースとするインベントリーを設定するには、次の手順を使用します。
手順
- Create new source ページで、Source リストから Red Hat Insights を選択します。
- Create Source ウィンドウが展開され、必要な Credential フィールドが表示されます。既存の GCE 認証情報から選択します。詳細は、認証情報 を参照してください。
- オプション: Adding a source で説明されているように、詳細度、ホストフィルター、有効な変数または値、および更新オプションを指定できます。
-
Source Variables フィールドを使用して、
gcp_compute
インベントリープラグインで使用される変数をオーバーライドします。JSON または YAML 構文を使用して変数を入力します。ラジオボタンを使用して、その 2 つを切り替えます。これらの変数の詳細は、Insights インベントリープラグイン を参照してください。
18.4.5.1.8. OpenStack
OpenStack をソースとするインベントリーを設定するには、次の手順を使用します。
手順
- Create new source ページで、Source リストから Openstack を選択します。
- Create Source ウィンドウが展開され、必要な Credential フィールドが表示されます。既存の GCE 認証情報から選択します。詳細は、認証情報 を参照してください。
- オプション: Adding a source で説明されているように、詳細度、ホストフィルター、有効な変数または値、および更新オプションを指定できます。
-
Source Variables フィールドを使用して、
gcp_compute
インベントリープラグインで使用される変数をオーバーライドします。JSON または YAML 構文を使用して変数を入力します。ラジオボタンを使用して、その 2 つを切り替えます。これらの変数の詳細は、openstack インベントリープラグイン を参照してください。
18.4.5.1.9. Red Hat Virtualization
Red Hat Virtualization ソースのインベントリーを設定するには、次の手順を使用します。
手順
- Create new source ページで、Source リストから Red Hat Virtualization を選択します。
- Create Source ウィンドウが展開され、必要な Credential フィールドが表示されます。既存の GCE 認証情報から選択します。詳細は、Credentials を参照してください。
- オプション: Adding a source で説明されているように、詳細度、ホストフィルター、有効な変数または値、および更新オプションを指定できます。
-
Source Variables フィールドを使用して、
gcp_compute
インベントリープラグインで使用される変数をオーバーライドします。JSON または YAML 構文を使用して変数を入力します。ラジオボタンを使用して、その 2 つを切り替えます。これらの変数の詳細は、ovirt インベントリープラグイン を参照してください。
Red Hat Virtualization (ovirt) インベントリーソースリクエストはデフォルトで安全です。このデフォルト設定を変更するには、source_variables
で ovirt_insecure
のキーを true に設定します。これは、/api/v2/inventory_sources/N/
エンドポイントにあるインベントリーソースの API 詳細からのみ使用できます。
18.4.5.1.10. Red Hat Ansible Automation Platform
Automation Controller をソースとするインベントリーを設定するには、次の手順を使用します。
手順
- Create new source ページで、*Source から Red Hat Ansible Automation Platform を選択します。
- Create Source ウィンドウが展開され、必要な Credential フィールドが表示されます。既存の GCE 認証情報から選択します。詳細は、認証情報 を参照してください。
- オプション: Adding a source で説明されているように、詳細度、ホストフィルター、有効な変数または値、および更新オプションを指定できます。
-
Source Variables フィールドを使用して、
gcp_compute
インベントリープラグインで使用される変数をオーバーライドします。JSON または YAML 構文を使用して変数を入力します。ラジオボタンを使用して、その 2 つを切り替えます。これらの変数の詳細は、コントローラーインベントリープラグイン を参照してください。これには、Red Hat カスタマーのログインが必要です。
18.4.5.2. 以前のインベントリースクリプトのエクスポート
カスタムインベントリースクリプト API が削除されたにもかかわらず、スクリプトは引き続きデータベースに保存されます。このセクションで説明するコマンドを使用すると、後でソースコントロールにチェックインするのに適した形式でデータベースからスクリプトを回復できます。
以下のコマンドを使用します。
$ awx-manage export_custom_scripts --filename=my_scripts.tar Dump of old custom inventory scripts at my_scripts.tar
出力を活用します。
$ mkdir my_scripts $ tar -xf my_scripts.tar -C my_scripts
スクリプトの名前の形式は、<pk>_ <name>
です。これは、プロジェクトフォルダーに使用される命名スキームです。
$ ls my_scripts 10inventory_script_rawhook _19 _30inventory_script_listenhospital _11inventory_script_upperorder _1inventory_script_commercialinternet45 _4inventory_script_whitestring _12inventory_script_eastplant _22inventory_script_pinexchange _5inventory_script_literaturepossession _13inventory_script_governmentculture _23inventory_script_brainluck _6inventory_script_opportunitytelephone _14inventory_script_bottomguess _25inventory_script_buyerleague _7inventory_script_letjury _15inventory_script_wallisland _26inventory_script_lifesport _8random_inventory_script 16inventory_script_wallisland _27inventory_script_exchangesomewhere _9random_inventory_script _17inventory_script_bidstory _28inventory_script_boxchild _18p _29__inventory_script_wearstress
各ファイルにはスクリプトが含まれています。スクリプトは bash/python/ruby/more
であるため、拡張子は含まれません。これらはすべて直接実行可能です。スクリプトを実行すると、インベントリーデータがダンプされます。
$ ./my_scripts/11__inventory_script_upperorder {"group\ud801\udcb0\uc20e\u7b0e\ud81c\udfeb\ub12b\ub4d0\u9ac6\ud81e\udf07\u6ff9\uc17b": {"hosts":
["host_\ud821\udcad\u68b6\u7a51\u93b4\u69cf\uc3c2\ud81f\uddbe\ud820\udc92\u3143\u62c7",
"host_\u6057\u3985\u1f60\ufefb\u1b22\ubd2d\ua90c\ud81a\udc69\u1344\u9d15",
"host_\u78a0\ud820\udef3\u925e\u69da\ua549\ud80c\ude7e\ud81e\udc91\ud808\uddd1\u57d6\ud801\ude57",
"host_\ud83a\udc2d\ud7f7\ua18a\u779a\ud800\udf8b\u7903\ud820\udead\u4154\ud808\ude15\u9711",
"host_\u18a1\u9d6f\u08ac\u74c2\u54e2\u740e\u5f02\ud81d\uddee\ufbd6\u4506"], "vars": {"ansible_host": "127.0.0.1", "ansible_connection":
"local"}}}
ansible-inventory
を使用して機能を確認できます。これにより、同じデータが得られますが、再フォーマットされます。
$ ansible-inventory -i ./my_scripts/_11__inventory_script_upperorder --list --export
前述の例では、my_scripts
に cd
で移動して git init
コマンドを発行し、必要なスクリプトを追加してソースコントロールにプッシュし、ユーザーインターフェイスで SCM インベントリーソースを作成できます。
カスタムインベントリースクリプトの同期または使用の詳細は、Automation Controller 管理ガイド の インベントリーファイルのインポート を参照してください。