1.5. Satellite での Ansible 変数のオーバーライド
Satellite で Ansible ロールを実行する場合、Satellite を使用して Ansible ロールの Ansible 変数をオーバーライドできます。
次の手順では、ホストとホストグループを説明します。詳細は、ホストの管理 を参照してください。
変数のオーバーライドの優先順位
Ansible ロールを使用して、Effective User
以外のユーザーとしてタスクを実行する場合、Ansible 変数をオーバーライドするための厳密な優先順位があります。オーバーライドする変数が正しい優先順位に従っていることを確認するには、Variable precedence: Where should I put a variable? を参照してください。
前提条件
- Satellite に Ansible 変数がある。詳細は、「Ansible のロールと変数のインポート」 を参照してください。
- オーバーライドされた Ansible 変数を使用するには、ホストと照合される属性を表示できるロールがユーザーに必要です。
手順
- Satellite Web UI で、Configure > Ansible > Variables に移動します。
- Satellite でオーバーライドし、管理する Ansible 変数を選択します。
- Default Behavior エリアで、Override チェックボックスを選択します。
- Parameter Type フィールドで、string や boolean などの検証用の値のタイプを選択します。配列 タイプと ハッシュ タイプには、変数の一致を処理するための追加のオプションがあります。詳細は、以下の Prioritize Attribute Order エリア を参照してください。
- デフォルト値 フィールドで、変数と一致するものがない場合に使用するデフォルト値を入力します。
- オプション: 変数の値を Satellite Web UI でプレーンテキストとして表示したくない場合は、値の非表示 のチェックボックスを選択し、変数のコンテンツをアスタリスクとして表示します。これは、パスワードやシークレットトークンなどの機密性の高い値に役立ちます。
オプション: オプションの入力バリデーター エリアをデプロイメントし、変数の具体的な値を検証するために使用される条件を指定します。
- ユーザーにこの変数への入力を強制する場合は、Required を選択します。
Validator Type フィールドで、値を検証する方法を選択します。
-
list
- 値は、許可された値の列挙に対して検証されます。 -
regex
- 値は正規表現パターンに対して検証されます。
-
オプション: Prioritize Attribute Order 領域では、オーバーライドをホストと一致させる優先順位をホスト属性別に指定します。上から順に優先されます。最初に一致したものが優先されます。
AND 演算としてコンマを使用して、複数の属性を 1 つのマッチャーキーにまとめることができます。たとえば、
hostgroup, environment
のマッチャーキーは、hostgroup = "web servers"
およびenvironment = production
などのマッチャーを想定します。パラメータータイプ array または hash を使用する場合は、さらに以下を設定できます。
- オーバーライドのマージ - 配列全体またはハッシュを置き換える代わりに、配列/ハッシュのメンバーをマージします。ハッシュに同じキーが含まれている場合、値はホストの値で上書きされます。
- デフォルトのマージ - デフォルト値を配列またはハッシュに追加します。
- 重複の回避 - 配列またはハッシュの値が一意であることを確認します。
- オプション: マッチャーの指定 エリアをデプロイメントし、変数がオーバーライドするホストを選択するための基準を指定します。
- オーバーライド設定を保存するには、送信 をクリックします。
Ansible 変数を使用するには、ホストまたはホストグループにパラメーターとして変数を追加するか、グローバルパラメーターとして変数を追加します。
ホストへの変数の追加
- Satellite Web UI で、Hosts > All Hosts に移動し、使用するホストを選択します。
- Ansible タブをクリックし、Variables 領域で、鉛筆アイコンをクリックして変数の値を編集します。
- チェックアイコンをクリックして変更された変数の値を受け入れるか、クロスアイコンをクリックして変更をキャンセルします。
ホストグループへの変数の追加
- Satellite Web UI で、Configure > Host Groups に移動し、使用するホストグループを選択します。
- パラメーター タブをクリックして、ホストのグループパラメーター のエリアで、パラメーターの追加 をクリックします。
- 名前 フィールドに Ansible 変数名を追加します。
- タイプ リストから検証する変数タイプを選択します。
- 値 フィールドに変数の値を入力します。
変数をグローバルパラメーターとして追加する
- Satellite Web UI で 設定 > グローバルパラメーター に移動して、パラメーターの作成 をクリックします。
- 名前 フィールドに Ansible 変数名を追加します。
- タイプ リストから検証する変数タイプを選択します。
- 値 フィールドに変数の値を入力します。
- オプション: Ansible 変数をプレーンテキストで表示したくない場合は、値の非表示 のチェックボックスを選択し、Satellite Web UI で変数のコンテンツをアスタリスクとして表示します。