Menu Close

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. Default Behavior エリアで Override チェックボックスを選択します。
      4. Prioritize Attribute Order エリアの Order フィールドに、サンプルファクトをリストの最後に追加します。2 つのファクト間に論理 AND 条件を作成するには、コンマ区切りリストとして追加し example_fact1,example_fact2ます。
      5. Matcher の追加
      6. Attribute type メニューから、= 記号の後に example_fact1,example_fact2 およびを選択します myfact1,myfact2
      7. 2 つの属性とそれらの値に対して一致が確立された場合に コンテンツホストに送信する値を入力します。
      8. Submit をクリックします。
    5. クライアントでファクトをクライアントから Puppet マスターに送信します。

      # puppet agent --test
    6. Satellite Web UI にログインします。

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