6.7. 検出ルールの作成
Satellite には、検出されたホストのプロビジョニングプロセスを自動化する方法として、Discovery ルールを作成する機能があります。これらのルールは、検出されたホストが、割り当てられたホストグループをベースに自らを自動的にプロビジョニングする方法を定義します。たとえば、CPU 数の多いホストをハイパーバイザーとして自動的にプロビジョニングすることができます。同様に、ハードディスクが大容量のホストは、ストレージサーバーとしてプロビジョニングすることもできます。
Satellite Web UI の代わりに CLI を使用する場合は、CLI 手順 を参照してください。
NIC に関する考慮事項
現在、自動プロビジョニングではネットワークインターフェイスカード (NIC) を設定することはできません。すべてのシステムは、検出中に検出された NIC 設定を使用してプロビジョニングされています。ただし、kickstart
スクリプトレットで、スクリプトを使用するか、後で設定管理を使用して NIC を設定できます。
手順
- Satellite Web UI で、Configure > Discovery rules に移動し、Create Rule を選択します。
- Name フィールドにルールの名前を入力します。
-
Search フィールドに、ホストをプロビジョニングするかどうかを決定するルールを入力します。このフィールドには、入力する値に関する推奨案が提供され、複数のルールに演算子を使用できます。例:
cpu_count > 8
- ホストグループ リストから、このホストのテンプレートとして使用するホストグループを選択します。
ホスト名 フィールドには、複数ホストのホスト名を決定するためのパターンを入力します。これはプロビジョニングテンプレートと同じ ERB 構文を使用します。ホスト名は、ホスト固有の値に
@host
属性を、乱数にrand
マクロを、または値を増やすためにsequence_hostgroup_param_next
マクロを使用できます。テンプレートのプロビジョニングに関する詳細は、「プロビジョニングテンプレート」 および API ドキュメントを参照してください。-
myhost-<%= sequence_hostgroup_param_next("EL7/MyHostgroup", 10, "discovery_host") %>
-
myhost-<%= rand(99999) %>
-
abc-<%= @host.facts['bios_vendor'] %>-<%= rand(99999) %>
-
xyz-<%= @host.hostgroup.name %>
-
srv-<%= @host.discovery_rule.name %>
server-<%= @host.ip.gsub('.','-') + '-' + @host.hostgroup.subnet.name %>
ホスト名のパターンの作成時には、作成するホスト名が一意の名前であることを確認してください。ホスト名は数字で始めることができず、アンダースコアやドットを含めることができません。適切な方法として、facter で提供される固有の情報 (MAC アドレス、BIOS、またはシリアル ID など) を使用することができます。
-
-
ホストの制限 フィールドには、ルールを使用してプロビジョニングできるホストの最大数を入力します。無制限に設定するには
0
を使用します。 - 優先度 フィールドには、ルール間の優先度を設定する数値を入力します。値が低いルールほど優先度が高くなります。
- 有効化 リストから、ルールを有効化するかどうかを選択します。
- ルールに異なるプロビジョニングコンテキストを設定するには、組織 および ロケーション タブをクリックして、使用するコンテキストを選択します。
- Submit をクリックしてルールを保存します。
Satellite Web UI で、Hosts > Discovered Host に移動して、以下の 2 つのオプションから 1 つ選択します。
- 右側の 検出されたホスト リストから、自動プロビジョニング を選択して、単一のホストを自動的にプロビジョニングします。
- ウィンドウの右上の すべてを自動プロビジョニング をクリックして、全ホストを自動的にプロビジョニングします。
CLI 手順
Hammer を使用してルールを作成します。
# hammer discovery-rule create \ --enabled true \ --hostgroup "My_Host_Group" \ --hostname "hypervisor-<%= rand(99999) %>" \ --hosts-limit 5 \ --name "My_Hypervisor" \ --priority 5 \ --search "cpu_count > 8"
hammer discovery auto-provision
コマンドを使用してホストを自動的にプロビジョニングします。# hammer discovery auto-provision --name "macabcdef123456"