Enabling Moab Provisioning with SystemImager

The SystemImager tool is a widely used open source tool that allows flexible automated installation or provisioning of compute hosts within a cluster. Interfacing Moab with SystemImager can be done in one of two ways: (1) using triggers and (2) using a native resource manager interface.

Trigger Based Provisioning Interface

When a job or reservation becomes active, Moab can custom tailor its environment including changing the operating system of the allocated nodes through the use of triggers. In the case of a job trigger, You can use something like the following:

moab.cfg
RSVPROFILE[rhel3] TRIGGER=etype=start,atype=exec,action='/usr/local/tools/nodeinstall.si.pl $REQOS $HOSTLIST' 
RSVPROFILE[rhel3] TRIGGER=etype=end,atype=exec,action='/usr/local/tools/nodeinstall.si.pl $DEFOS $HOSTLIST'
RSVPROFILE[rhel3] TRIGGER=etype=cancel,atype=exec,action='/usr/local/tools/nodeinstall.si.pl $DEFOS $HOSTLIST'
...

In the preceding example, any reservation that uses the rhel3 profile will reinstall all nodes to use the rhel3 operating system for the duration of the reservation. The second and third trigger makes certain that when the reservation ends or if it is canceled, the nodes are restored to their default operating system.

Resource Manager Based Provisioning Interface

With a resource manager based provisioning interface, Moab uses the provisioning manager to create the nodes needed by various jobs. In this model, the provisioning manager can be set up, users can submit jobs requiring any available operating system, and Moab can dynamically reprovision compute nodes to meet current workload needs.

moab.cfg
RMCFG[torque] TYPE=PBS
RMCFG[si]     TYPE=native RTYPE=provision
RMCFG[si]     CLUSTERQUERYURL=exec://$TOOLSDIR/clusterquery.si.pl
RMCFG[si]     SYSTEMQUERYURL=exec://$TOOLSDIR/systemquery.si.pl
RMCFG[si]     SYSTEMMODIFYURL=exec://$TOOLSDIR/systemmodify.si.pl
...

With this configuration, Moab can automatically load-balance resources to meet the needs of submitted jobs. Correct operation of the interface's querying capabilities can be verified by issuing mdiag -R and mdiag -n to look at resource manager and node configuration respectively.

To verify that Moab can correctly drive SystemImager to install a node, use the mnodectl -m command as demonstrated in the following example:

mnodectl -m
> mnodectl -m os=rhel3 node002

See Also

Copyright © 2012 Adaptive Computing Enterprises, Inc.®