# Moab Cluster Suite Integration Guide

## Overview

Moab Cluster Suite configuration is quite complicated and is beyond the scope of any documents we could supply with SLURM. The best resource for Moab configuration information is the online documents at Cluster Resources Inc.: http://www.clusterresources.com/pages/resources/documentation/grid/admin.php.

## Configuration

First, download the Moab scheduler kit from their web site http://www.clusterresources.com/pages/products/moab-cluster-suite.php. Note: Moab version 4.5.0 or higher and SLURM version 1.1.10 or higher.

### SLURM configuration

Set the slurm.conf scheduler parameters as follows:

    SchedulerType=sched/wiki2   (NOTE: "sched/wiki" in slurm version 1.2)
    SchedulerPort=7321

Running multiple jobs per mode can be accomplished using the Shared=yes parameter on partitions. The SelectType=select/cons_res parameter is not compatable with the sched/wiki plugin (both would try to schedule the individual processors within a node).

SLURM's wiki configuration is stored in a file specific to the wiki-plugin. This file should be protected from reading by users. It only needs to be readable by SlurmUser (as configured in slurm.conf) and only needs to exist on computers where the slurmctld daemon executes.

The currently supported keywords include:

AuthKey
  an encryption key for communctions between SLURM and Maui or Moab
JobPriority
  controls execution of newly arriving jobs in SLURM

  AuthKey is a DES based encryption key used to sign communctions between SLURM and Maui or Moab. This use of this key is essential to insure that a user not build his own program to cancel other user's jobs in SLURM. This should be a numeric value and match the the encryption key in Maui (--with-key on the configure line) or Moab (KEY parameter in the moab-private.cfg file). Note that SLURM's wiki plugin does not include a mechanism to submit new jobs, so even without this key nobody could run jobs as another user.

  JobPriority controls the scheduling of newly arriving jobs in SLURM. SLURM can either place all newly arriving jobs in a HELD state (priority = 0) and let Moab decide when and where to run the jobs or SLURM can control when and where to run jobs. In the later case, Moab can modify the priorities of pending jobs to re-order the job queue or just monitor system state. Possible values are "hold" and "run" with "hold" being the default.

  Here is a sample wiki.conf file

      # wiki.conf
      # SLURM's wiki plugin configuration file
      #
      # Matches KEY in moab-private.cfg
      AuthKey=1234
      #
      # Have Moab control job scheduling
      JobPriority=hold

  ### Moab Configuration

  Moab has support for SLURM's WIKI interface by default. Specify this interface in the moab.cfg file as follows:

      RMCFG[slurm]         TYPE=wiki:slurm AUTHTYPE=CHECKSUM

  In moab-private.cfg specify the private key as follows:

      KEY=1234

  Insure that this file is protected from viewing by users.

  Last modified 24 August 2006