Compute Node Initialization Scripts#
All compute node images should include the clusterware-node
package. This package includes systemd services used for periodically
reporting node status back to the head node as well as initialization
scripts run as the node is booting.
At the end of the boot process described in Boot Configurations,
the mount_rootfs
script
hands control of the machine over to the standard operating system
initialization scripts when it switches to the newly mounted root.
Shortly after networking is established on the booting node,
it contacts the parent head node,
the compute node begins periodic pushes of status information to
the parent, which stores that information in the ICE ClusterWare™
database. The first data push includes detected hardware information,
while subsequent data only contains the more ephemeral node status
information. With each status update the node also retrieves its
attribute list and stores this list as an INI file at
/opt/scyld/clusterware-node/etc/attributes.ini
. Code running on
the compute node can use the contents of this file to customize the
node configuration. A simple attributes.ini
file:
[Node]
UID = c1bf15749d724105bce9e07a3d79cb69
[Attributes]
_boot_config = DefaultBoot
The [Node]
section will include node-specific details, while the
[Attributes]
section contains the node attributes as determined
from the node's groups using the process described in Node Attributes.
The clusterware-node
package also contains a symlink at /etc/clusterware
pointing to
/opt/scyld/clusterware-node/etc/
.
Shortly after the first status push, a series of shell scripts are
executed on the node to perform ClusterWare-specific node
initialization. These scripts are linked in
/opt/scyld/clusterware-node/scripts-enabled
and located in
/opt/scyld/clusterware-node/scripts-available
.
All such scripts should include
/opt/scyld/clusterware-node/functions.sh
for common variables and
functions, and should use the attributes.ini
described previously to
determine what actions are necessary. Cluster administrators are
invited to enable and disable these scripts in their root file system
images as they see fit and to contribute improved or added scripts
back to the ClusterWare developers for the continuing improvement of
the product.