Providing DHCP to Additional Interfaces#
Some specialized cluster configurations require additional network-related ICE ClusterWare™ node attributes. For example, when booting compute nodes that are configured to use a bonded administrative interface, it can be difficult to predict what physical interface will successfully send DHCP requests.
In most clusters the compute node BMC addresses are statically assigned to ensure that the BMCs are always accessible regardless of the state of other infrastructure. However, there are times when dynamically assigning reserved addresses to the BMC interfaces is useful.
The ClusterWare platform supports dynamic assignment via the following Reserved Attributes:
_altmacs
_ips
with a specialbmc=
entry_macs
with a specialbmc=
entry
For example, a node has a primary MAC address of aa:bb:cc:dd:ee:f0, a primary IP address of 10.54.0.100, and the following attributes defined:
_altmacs=aa:bb:cc:dd:ee:f1,aa:bb:cc:dd:ee:f2
_ips=bmc=10.10.10.100,ib0=10.55.10.100
_macs=bmc=11:22:33:44:55:66
The ClusterWare DHCP subsystem sees the _altmacs
attribute and creates
reservations of the 10.54.0.100 IP address for MAC addresses aa:bb:cc:dd:ee:f0
(the primary MAC address), aa:bb:cc:dd:ee:f1, and aa:bb:cc:dd:ee:f2. Requests
from the physical network adapters with any of those MAC addresses receive the
same 10.54.0.100 IP address. Nodes should proceed with the boot process once any
network adapter successfully receives the IP address and that network adapter is
marked as the bootnet.
Additionally, while examining the values of the _ips
and _macs
attributes, the system will find the bmc=
sections and create a reservation
for the 10.10.10.100 IP address to the 11:22:33:44:55:66 MAC address. If the
node BMC is configured to dynamically request an address via DHCP and the BMC
network is connected to the head node, then the BMC receives that reserved IP
address.
The ib0=10.55.10.100 section of the _ips
attribute does not result in any
DHCP reservations, but is substituted into an existing ifcfg-ib0 file within the
image at boot time. This is done by prenet boot scripts within the image provided
by the clusterware-node
package. The scripts perform similar replacements
in NetworkManager connection files on newer operating systems or Netplan
configuration files on Ubuntu.