3.8. パラメーター

Red Hat Satellite パラメーターは、ホストのプロビジョニング時に使用するキーと値のペアを定義します。これらは、Puppet のデフォルトのスコープパラメーターの概念に似ています。Puppet でホストを設定する際にパラメーターを定義することができます。

パラメーターのタイプ

Red Hat Satellite には 2 種類のパラメーターがあります。

単純パラメーター
キーと値のペアとの関係を定義する文字列パラメーターです。ユーザー設定で上書きすることはできませんが、Satellite のパラメーター階層に従って上書きされます。グローバル、組織レベル、ロケーションレベル、ドメインレベル、サブネットレベル、オペレーティングシステムレベル、ホストグループ、およびホストのパラメーターは、Red Hat Satellite の単純なパラメーターです。
スマートクラスパラメーター
キーの値を定義するだけではなく、特定のオブジェクトタイプの条件付き引数、検証および上書きを可能にする複雑なパラメーターです。スマートクラスパラメーターを使用すると、Puppet クラスで外部データを取得できるようになります。これらは Puppet クラスで使用され、Puppet 用語でパラメーター化されたクラスと呼ばれます。これらのパラメーターの階層は Web UI で設定できます。

以下のパラメーター階層は単純なパラメーターに対して適用されます。

グローバルパラメーター

Satellite のすべてのホストに適用されるデフォルトのパラメーター。設定 > グローバルパラメーター で設定されます。Hammer CLI を使用してグローバルパラメーターを設定するには、以下のコマンドを入力します。

# hammer global-parameter set --name parameter_name --value parameter_value
組織レベルのパラメーター

特定の組織の全ホストに影響するパラメーター。組織レベルのパラメーターは、グローバルパラメーターを上書きします。管理 > 組織 > 編集 > パラメーター で設定されます。Hammer CLI を使用して組織レベルのパラメーターを設定するには、以下のコマンドを入力します。

# hammer organization set-parameter --organization "Your Organization" \
--name parameter_name --value parameter_value
ロケーションレベルのパラメーター

指定の場所内の全ホストに影響するパラメーター。ロケーションレベルのパラメーターは、組織レベルのパラメーターおよびグローバルパラメーターを上書きします。管理 > ロケーション > 編集 > パラメーター で設定されます。Hammer CLI を使用してロケーションレベルのパラメーターを設定するには、以下のコマンドを入力します。

# hammer location set-parameter --location "Your_Location" \
--name parameter_name --value parameter_value
ドメインパラメーター

指定のドメインのすべてのホストに影響するパラメーター。ドメインパラメーターは、ロケーションレベル以上のパラメーターを上書きします。インフラストラクチャー > ドメイン > [choose_a_domain] > パラメーター で設定されます。Hammer CLI を使用してドメインパラメーターを設定するには、以下のコマンドを入力します。

# hammer domain set-parameter --domain domain_name \
--name parameter_name --value parameter_value
サブネットパラメーター

特定のサブネットにプライマリーインターフェースを持つすべてのホストに影響するパラメーター。サブネットパラメーターは、ホストグループのシステムレベル以上のパラメーターを上書きします。インフラストラクチャー > サブネット > [choose_a_subnet] > パラメーター で設定されます。Hammer CLI を使用してサブネットパラメーターを設定するには、以下のコマンドを入力します。

# hammer subnet set-parameter --subnet subnet_name \
--name parameter_name --value parameter_value
オペレーティングシステムレベルのパラメーター

指定したオペレーティングシステムを持つすべてのホストに影響するパラメーター。オペレーティングシステムレベルのパラメーターは、ドメイン以上のパラメーターを上書きします。ホスト > オペレーティングシステム > [choose_an_operating_system] > パラメーター で設定されます。Hammer CLI を使用してオペレーティングシステムのパラメーターを設定するには、以下のコマンドを入力します。

# hammer os set-parameter --operatingsystem os_name \
--name parameter_name --value parameter_value
ホストグループパラメーター

指定のホストグループ内の全ホストに影響するパラメーター。ホストグループのパラメーターは、オペレーティングシステムレベル以上のパラメーターを上書きします。設定 > ホストグループ > [choose_a_host_group] > パラメーター で設定されます。Hammer CLI を使用してホストグループのパラメーターを設定するには、以下のコマンドを入力します。

# hammer hostgroup set-parameter --hostgroup hostgroup_name \
--name parameter_name --value parameter_value
ホストパラメーター

特定のホストに影響するパラメーター。以前に継承したパラメーターはすべてパラメーターサブタブに表示され、上書きすることができます。ホスト > すべてのホスト > 編集 > パラメーター で設定されます。Hammer CLI を使用してホストパラメーターを設定するには、以下のコマンドを入力します。

# hammer host set-parameter --host host_name \
--name parameter_name --value parameter_value

パラメーターと Puppet クラスの使用

Red Hat Satellite では、Puppet クラスで使用するために 2 つの方法でホストの Puppet マスターに値を指定することができます。

スマート変数
スマートクラスパラメーターを持たないクラス用に、グローバルパラメーターを Puppet マスターにキーと値の形式で提供するためのツールです。Puppet マニフェストのパラメーター値の上書きを有効にします。これらは、クラスにスマートクラスパラメーターがない場合や、グローバルパラメーターを必要とする特別なケースにおける使用を目的としています。これらは、階層コンテキストまたはユーザーが適用できるさまざまな条件に応じて、複数の値の候補を持つことができます。これらは、Puppet がパラメータ化されたクラスを持つ前から存在していたもので、現在は後方互換性を保つため、または検証が必要なグローバルパラメータの使用のため、特定のパペットクラスでのみ使用するため、および文字列以外のタイプのために(それ以外の場合は単純なパラメーターを使用できます)。
パラメーター化クラス
スマートクラスパラメーターを含む Puppet クラス。クラスは Puppet マスターからインポートされ、パラメーター名 (例 $::name (推奨) または $name) は、クラスを作成した人によって定義され、変更することはできません。グローバルではなく、特定のクラスの変数の値を決定できます。

設定したパラメーターは各ホストの対応する YAML ファイルに含まれ、Puppet マスターに送信されます。YAML ファイルは、特定のホストのページにある Web UI で表示できます。/etc/foreman/settings.yaml 設定ファイルは、次に satellite-installer コマンドを実行する際に上書きされるため、手動で変更しないでください。

重要

Satellite 6 では、パラメーター化されたクラスサポートがデフォルトで有効になっています。有効になっていることを確認するには、管理 > 設定 に移動して Puppet タブを選択し、ENC のパラメーター化されたクラスTrue に設定されていることを確認します。