2. Add PXE booting to DHCP server

Network booting is initiated by a DHCP server sending extra information to a PXE client. At a minimum, we have to tell the booting network device which server will be providing files via TFTP and which network boot program (NBP) to load.

Add the next-server and boot-file-name directives to the 192.168.16.0 subnet declaration.

{
  "id": 2,
  "subnet": "192.168.16.0/20",
  "interface": "eno3",
  "next-server": "192.168.16.1",
  "boot-file-name": "pxelinux.0",
  "option-data": [
    {
...

You should already have host sections for each compute node in the cluster network. If not, power down all compute nodes, restart the DHCP server with PXE boot enabled and listen to your eno3 network device for DHCP messages. For each compute node, power it on via IPMI and listen for the PXE network boot DHCP requests. These will transmit the MAC address you need.

{
  "hw-address": "bc:24:11:db:01:4c",
  "ip-address": "192.168.17.1",
  "hostname": "c01"
}

Do not forget to restart the DHCP server every time you modify any files in /etc/kea.

[root@master ~]# systemctl restart kea-dhcp4