Description of hardwaredetection with comoonics-bootimage 1.4
Background
One of the important new features in the latest OSR bootimage (the heart of the initrd) is that it has improved and better hardwaredetection for mixed hardware clusters.
There are cases when cluster nodes need to be automatically detected without knowing their network configuration before and the other way round. Which means it is necessary in (I think) most cases to define which drivers need to be loaded for each node. We will call the first process dynamic hardware detection and the second one static hardware detection.
I would suggest whenever you know all network drivers (only those are so far used to detect the node identity) to use the static hardware detection and other wise dynamic hardware detection.
Static hardware detection
Let's say you would have a cluster of two nodes. Node1 with two NICs both using the tg3 driver and eth1 is used for the cluster interconnect. Node2 with two NICs using driver r8169 for eth0 and e1000 for eth1. A cluster configuration which would yield a static hardware detection. This means to detect the nodeidentity only all drivers specified in the cluster configuration are loaded. The the bootprocess knows about the identity and reloads only those drivers specified in the cluster configuration. The relevant cluster configuration could look as follows:
<?xml version='1.0' encoding='UTF-8'?>
<cluster config_version='35' name='clu_generix' type='gfs'>
<clusternodes>
<clusternode votes='1' nodeid='2' name='node1'>
<com_info>
<eth name="eth0" driver="tg3"/>
<eth mac='00:XX' name='eth1' ip="10.10.10.82" mask='255.255.255.0' driver="tg3"/>
more information here
</com_info>
more information here
</clusternode>
<clusternode votes='1' nodeid='4' name='node2'>
<com_info>
<eth name='eth0' driver="r8169"/>
<eth name='eth1' mac="00:XY" driver="e1000" ip="10.10.10.84" mask='255.255.255.0'/>
more information here
</com_info>
more information here
</clusternode>
</clusternodes>
</cluster>
Dynamic hardware detection
If the hardware detection stays stable over multiple reboots a cluster configuration for the same hardware looks as follows.:
<?xml version='1.0' encoding='UTF-8'?>
<cluster config_version='35' name='clu_generix' type='gfs'>
<clusternodes>
<clusternode votes='1' nodeid='2' name='node1'>
<com_info>
<eth mac='00:XX' name='eth1' ip="10.10.10.82" mask='255.255.255.0'/>
more information here
</com_info>
more information here
</clusternode>
<clusternode votes='1' nodeid='4' name='node2'>
<com_info>
<eth name='eth1' mac="00:XY" ip="10.10.10.84" mask='255.255.255.0'/>
more information here
</com_info>
more information here
</clusternode>
</clusternodes>
</cluster>