3.11. 複数のカスタムファクトの使用
以下は、Puppet Smart クラスパラメーター matcher で、複数のカスタムファクトを作成および使用する例です。
前提条件
- Puppet 環境をインポートして、Satellite にスマートクラスパラメーターがある Puppet モジュールがある。
- Satellite にプロビジョニングして登録されているクライアントです。
Satellite でプロビジョニングされていないクライアントの場合は、「設定の既存クライアントへの適用」 の説明に従って、クライアントが設定されていることを確認してください。
クライアントで、2 つ以上のカスタムファクトを作成し、それらのファクトに値を割り当てます。以下は例になります。
# vi /etc/facter/facts.d/my_custom_facts #! /bin/bash echo example_fact1=myfact1 echo example_fact2=myfact2
クライアントで、ファイルパーミッションを設定します。
# chmod a+x /etc/facter/facts.d/my_custom_facts
クライアントで、ファクトとそれに対応する値を確認します。
# facter | grep example example_fact1 => myfact1 example_fact2 => myfact2
Satellite Web UI で以下を実行します。
- Configure > Classes に移動し、設定する Puppet クラスを選択します。
- Smart Class Parameter タブをクリックして、上書きするパラメーターを選択します。
- デフォルトの動作 エリアで、上書き チェックボックスを選択します。
-
属性の優先順位付け エリアの 順位 フィールドに、サンプルファクトをリストの最後に追加します。2 つのファクト間で AND 論理条件を作成するには、コンマ区切りのリスト
example_fact1,example_fact2
として追加します。 - Matcher の追加 を選択します。
-
Attribute type メニューから
example_fact1,example_fact2
を選択し、=
記号の後にmyfact1,myfact2
を入力します。 - Value フィールドには、2 つの属性とその値が一致した時にコンテンツホストに送信する値を入力します。
- 送信 をクリックします。
クライアントで、ファクトをクライアントから Puppet マスターに送信します。
# puppet agent --test
Satellite Web UI で以下を実行します。
- Hosts > Content Hosts に移動し、コンテンツホストの名前を選択します。
-
YAML をクリックし、
classes
セクションを見つけます。パラメーターに、必要な値があることを確認します。