7.6. 検出ルールの作成
Satellite には、検出されたホストのプロビジョニングプロセスを自動化する方法として、検出ルールを作成する機能があります。これらのルールは、検出されたホストが、割り当てられたホストグループをベースに自らを自動的にプロビジョニングする方法を定義します。たとえば、CPU 数の多いホストをハイパーバイザーとして自動的にプロビジョニングすることができます。同様に、ハードディスクが大容量のホストは、ストレージサーバーとしてプロビジョニングすることもできます。
Satellite Web UI の代わりに CLI を使用する場合は、CLI 手順 を参照してください。
NIC に関する考慮事項
自動プロビジョニングでは現在 NIC を設定できません。すべてのシステムは、検出中に検出された NIC 設定を使用してプロビジョニングされます。ただし、kickstart
スクリプトレットで NIC を設定するか、スクリプトを使用するか、または後の段階で設定管理を使用して NIC を設定できます。
手順
- Satellite Web UI で、Configure > Discovery rules に移動し、Create Rule を選択します。
- Name フィールドにルールの名前を入力します。
-
Search フィールドに、ホストをプロビジョニングするかどうかを決定するルールを入力します。このフィールドには、入力する値に関する推奨案が提供され、複数のルールに演算子を使用できます。例:
cpu_count > 8
- Host Group リストから、このホストのテンプレートとして使用するホストグループを選択します。
Hostname フィールドには、複数ホストのホスト名を決定するためのパターンを入力します。これはプロビジョニングテンプレートと同じ 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 など) を使用することができます。
-
-
Hosts limit フィールドには、ルールを使用してプロビジョニングできるホストの最大数を入力します。無制限に設定するには
0
を使用します。 - Priority フィールドには、ルール間の優先度を設定する数値を入力します。値が低いルールほど優先度が高くなります。
- Enabled リストから、ルールを有効化するかどうかを選択します。
- ルールに異なるプロビジョニングコンテキストを設定するには、Organizations および Locations タブをクリックして、使用するコンテキストを選択します。
- Submit をクリックしてルールを保存します。
Satellite Web UI で、Hosts > Discovered Host に移動して、以下の 2 つのオプションから 1 つ選択します。
- 右側の Discovered hosts リストから、Auto-Provision を選択して、単一のホストを自動的にプロビジョニングします。
- ウィンドウの右上の Auto-Provision All をクリックして、全ホストを自動的にプロビジョニングします。
CLI 手順
hammer discovery-rule create
コマンドを使用してルールを作成します。# 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"