Moab-SSS Integration Guide

Moab-SSS Integration Guide

Overview

   Moab can be used as an external scheduler for SSS compliant resource management components (such as Bamboo and Warehouse).  In this configuration, the SSS resource manager handles the job queue and the compute resources while Moab queries the resource manager daemons via the SSS scheduling API to obtain up to date job and node information.  Using this information, Moab directs the resource manager to manage jobs in accordance with specified Moab policies, priorities, and reservations.

   The documentation below describes how to configure Moab (or Maui) to interface with each of the following SSS compliant services:

Steps

   By default, Moab is built with SSS support when running the standard 'configure' and 'make' process.

   To configure Moab to use the SSS resource manager, the parameter 'RMCFG[base] TYPE=SSS' must be set in the 'moab.cfg' file. (This should be handled automatically by the 'configure' step above.)


Bamboo Specific Steps

   Bamboo is a queue manager providing job queuing and job management facilities.  To configure Moab to use Bamboo, a secret key must be exchanged and the interface identified as in the example below:

moab.cfg
RMCFG[sss] SERVER=keiko.ameslab.gov:4204 TYPE=SSS WIREPROTOCOL=SSS2 SOCKETPROTOCOL=HTTP
...

moab-private.cfg
CLIENTCFG[RM:sss] KEY=changeme
...

Warehouse Specific Steps

   Warehouse is a node monitor providing node state and configuration information.  To configure Moab to use Warehouse, a secret key must be exchanged and the interface identified as in the example below:

moab.cfg
RMCFG[sss] NMSERVER=keiko.ameslab.gov NMPORT=12321 TYPE=SSS WIREPROTOCOL=SSS2 SOCKETPROTOCOL=HTTP
...

moab-private.cfg
CLIENTCFG[RM:sss] KEY=changeme 
...

Gold Specific Steps

   Gold is an allocation manager providing user and account allocation and credit management services.  To configure Moab to use Gold, a secret key must be exchanged and the interface identified as in the example below:

moab.cfg
AMCFG[bank] SERVER=gold://keiko CHARGEPOLICY=DEBITALLWC JOBFAILUREACTION=IGNORE TIMEOUT=15
...

moab-private.cfg
CLIENTCFG[AM:bank] KEY=changeme
...

Event Services

   The event server allows a scheduler and other cluster management components to publish local events and register for reports of remotely generated events.  Events can be of any such as job canceled, service enabled, or node failed.

   To enable event services within the scheduler, use the EVENTSERVER parameter as in the example below.

moab.cfg
EVENTSERVER ds.hs3.org:11324 
...

moab-private.cfg
CLIENTCFG[EM] KEY=changeme
...

Directory Services

   The directory service (a.k.a discovery service) allows a scheduler and other cluster management components to register their interface information at centralized location and discover compatible peer services which have also registered.  This allows SSS compliant component to automatically detect and utilize newly added or dynamic services and determine both capabilities and required interface logistics before attempting to establish a connection.

   To enable directory services within the scheduler, use the DIRECTORYSERVER parameter as in the example below.

moab.cfg
DIRECTORYSERVER ds.hs3.org:11334
...

moab-private.cfg
CLIENTCFG[DS] KEY=changeme
...

See Also