3.11. 複数のカスタムファクトの使用

以下は、Puppet Smart クラスパラメーター matcher で、複数のカスタムファクトを作成および使用する例です。

前提条件

  • Puppet 環境をインポートして、Satellite にスマートクラスパラメーターがある Puppet モジュールがある。
  • Satellite にプロビジョニングして登録されているクライアントです。
  • Satellite でプロビジョニングされていないクライアントの場合は、「設定の既存クライアントへの適用」 の説明に従って、クライアントが設定されていることを確認してください。

    1. クライアントで、2 つ以上のカスタムファクトを作成し、それらのファクトに値を割り当てます。以下は例になります。

      # vi /etc/facter/facts.d/my_custom_facts
      #! /bin/bash
      echo example_fact1=myfact1
      echo example_fact2=myfact2
    2. クライアントで、ファイルパーミッションを設定します。

      # chmod a+x /etc/facter/facts.d/my_custom_facts
    3. クライアントで、ファクトとそれに対応する値を確認します。

      # facter | grep example
       example_fact1 => myfact1
       example_fact2 => myfact2
    4. Satellite Web UI で以下を実行します。

      1. Configure > Classes に移動し、設定する Puppet クラスを選択します。
      2. Smart Class Parameter タブをクリックして、上書きするパラメーターを選択します。
      3. デフォルトの動作 エリアで、上書き チェックボックスを選択します。
      4. 属性の優先順位付け エリアの 順位 フィールドに、サンプルファクトをリストの最後に追加します。2 つのファクト間で AND 論理条件を作成するには、コンマ区切りのリスト example_fact1,example_fact2 として追加します。
      5. Matcher の追加 を選択します。
      6. Attribute type メニューから example_fact1,example_fact2 を選択し、= 記号の後に myfact1,myfact2 を入力します。
      7. Value フィールドには、2 つの属性とその値が一致した時にコンテンツホストに送信する値を入力します。
      8. 送信 をクリックします。
    5. クライアントで、ファクトをクライアントから Puppet マスターに送信します。

      # puppet agent --test
    6. Satellite Web UI で以下を実行します。

      1. Hosts > Content Hosts に移動し、コンテンツホストの名前を選択します。
      2. YAML をクリックし、classes セクションを見つけます。パラメーターに、必要な値があることを確認します。