Moab Workload Manager

mschedctl

(Moab Scheduler Control)

Synopsis

mschedctl -A '<MESSAGE>'
mschedctl -c message messagestring [-o type:val]
mschedctl -c trigger triggerid -o type:val
mschedctl -d trigger triggerid
mschedctl -d vpc:vpcid
mschedctl -d message:index

mschedctl -f {all|estimates|fairshare|usage}

mschedctl -k
mschedctl -l {config|message|trigger|trans|vpc|vpcprofile} [--flags=verbose] [--xml]
mschedctl -L [LOGLEVEL]
mschedctl -m config string [-e] [--flags=persistent]
mschedctl -m trigger triggerid attr=val[,attr=val...]
mschedctl -m vpc vpcid attr=val[,attr=val...]

mschedctl -p
mschedctl -r [resumetime]
mschedctl -R
mschedctl -q
mschedctl -s [STOPITERATION]
mschedctl -S [STEPITERATION]

Overview

The mschedctl command controls various aspects of scheduling behavior. It is used to manage scheduling activity, shutdown the scheduler, and create resource trace files.  It can also evaluate, modify, and create parameters, triggers, and messages.

Note With many flags, the '--msg=<MSG>' option can be specified to annotate the action in the event log.

Format

-A — ANNOTATE
<STRING>
---
Report the specified parameter modification to the event log and annotate it with the specified message.
> mschedctl --flags=pers -A 'increase logging' -m 'LOGLEVEL 6'  
Adjust the LOGLEVEL parameter and record an associated message.
   
-c — CREATE
One of:
  •  message <STRING> [-o <TYPE>:<VAL>]
  •  trigger <TRIGSPEC> -o <OBJECTTYPE>:<OBJECTID>
  •  vpc [-a <ATTR>=<VAL>]...
     
    where <ATTR> is one of account, duration, ID, messages, profile, reqresources, resources, rsvprofile, starttime, user, or variables
---
Create a message or trigger and attach it to the specified object, or create a Virtual Private Cluster (VPC). To create a trigger on a default object, use the Moab configuration file (moab.cfg) rather than the mschedctl command. Use mschedctl -c -a ID=<name> to manually name the VPC.

mschedctl -c message tell the admin to be nice
Create a message on the system table.

mschedctl -c trigger EType=start,AType=exec,Action="/tmp/email $OWNER $TIME" -o rsv:system.1
Create a trigger linked to system.1

Note Creating triggers on default objects via mschedctl -c trigger does not propagate the triggers to individual objects. To propagate triggers to all objects, the triggers must be created within the moab.cfg file; for example: NODECFG[DEFAULT] TRIGGER.

mschedctl -c vpc -a resources=6,7,8 -a profile=packageA
Create a vpc using TID's 6, 7, and 8 and based on profile packageA

Note VPC commands (such as mschedctl -c vpc) are only enabled on hosting center builds.

Additional VPC attributes: -a
   
-d — DESTROY
One of:
  • trigger <TRIGID>
  • message:<INDEX>
  • vpc:<VPCID>[:{soft|hard}]
---
Delete a trigger, message, or VPC.

mschedctl -d trigger 3
Delete trigger 3.

mschedctl -d message:5
Delete message with index 5.

mschedctl -d vpc:vpc.5:soft
Delete vpc.5. Soft destruction causes Moab to launch the end triggers attached to the reservations before deleting the VPC. Hard destruction causes Moab to launch the cancel triggers.

mschedctl -d vpc:ALL
Delete all VPCs.

   
-f — FLUSH
{all|fairshare|usage}
---
Flush (clear out) specified statistics
mschedctl -f usage
Flush usage statistics.
   
-k — KILL
---
---
Stop scheduling and exit the scheduler
mschedctl -k
Kill the scheduler.
   
-l — LIST
{config | gres | message | trans | trigger | vpc | vpcprofile} [--flags=verbose] [--xml]
Note Using the --xml argument with the trans option returns XML that states if the queuried TID is valid or not.
config
List the generic resources, scheduler configuration, system messages, triggers, transactions, virtual private clusters or VPC profiles.

mschedctl -l config
List system parameters.

mschedctl -l gres
List all configured generic resources.

mschedctl -l trans 1
List transaction id 1.

mschedctl -l trigger
List triggers.

mschedctl -l vpc
List VPCs.

mschedctl -l vpc:vpc.1
List VPC vpc.1.

   
-L — LOG
<INTEGER>
7
Create a temporary log file with the specified loglevel.
> mschedctl -L 7  
Create temporary log file with naming convention '<logfile>.YYYYMMDDHHMMSS'.
   
-m — MODIFY
One of:
  • config [<STRING>]
    [-e]
    [--flags=pers]
    <STRING> is any string which would be acceptable in moab.cfg>
    • If no string is specified, <STRING> is read from STDIN.
    • If '-e' is specified, the configuration string will be evaluated for correctness but no configuration changes will take place.  Any issues with the provided string will be reported to STDERR.
    • If '--flags=persistent' is specified, the Moab configuration files (moab.cfg and moab.dat) are modified.
  • trigger:<TRIGID> <ATTR>=<VAL>
     
    where <ATTR> is one of action, atype, etype, iscomplete, oid, otype, offset, or threshold
  • vpc:<VPCID> <ATTR>=<VAL>
     
    where <ATTR> is one of variables, or <user|group|owner|qos|account>
  • Note Changing the VPC user does not change the VPC owner, and vice versa. Additionally, the credential you want to change to must already exist in order to make the change. In other words, you cannot set user to a user that Moab doesn't know about.
---
Modify a system parameter, trigger, or VPC.

> mschedctl -m config LOGLEVEL 9
Change the system loglevel to 9.

> mschedctl -m trigger:2 AType=exec,Offset=200,OID=system.1
Change aspects of trigger 2.

> mschedctl -m vpc:packageA.1 variables=blue=dog
Change aspects of vpc packageA.1.

> mschedctl -m vpc:vpc.10 user=craig
          
vpc USER set to craig
Changes the user of vpc.10 to 'craig'

   
-p — PAUSE
---
---
Disable scheduling but allow the scheduler to update its cluster and workload state information.

> mschedctl -p

   
-q — QUERY

Comma delimited list of one or more of the following:

acl, ALL, am, cjob, class, cluster, cp, depend, event, fs, fsc, green, gres, group, hybrid, image, job, limits, node, nodefeature, pactions, par, priority, qos, queue, rack, range, req, rm, rsv, sched, sim, srsv, stats, sys, task, tasksperjob, tjob, tnode, trans, trig, tx, user, vm, vpc
---
Query scheduler attributes

> mschedctl -q pactions --format=xml  

   
-R — RECYCLE
---
---
Recycle scheduler immediately (shut it down and restart it using the original execution environment and command line arguments).

> mschedctl -R
Recycle scheduler immediately.

Note To restart Moab with its last known scheduler state, use:
mschedctl -R savestate

   
-r — RESUME
<INTEGER>
0
Resume scheduling at the specified time (or immediately if none is specified).

> mschedctl -r
Resume scheduling immediately.

   
-s — STOP
<INTEGER>
0
Suspend/stop scheduling at specified iteration (or at the end of the current iteration if none is specified). If the letter 'I' follows <ITERATION>, Moab will not process client requests until this iteration is reached.

> mschedctl -s 100I
Stop scheduling at iteration 100 and ignore all client requests until then.

   
-S — STEP
<INTEGER>
0
Step the specified number of iterations (or to the next iteration if none is specified) and suspend scheduling If the letter 'I' follows <ITERATION>, Moab will not process client requests until this iteration is reached.

> mschedctl -S
Step to the next iteration and stop scheduling.

Example 1

Shutting down the Scheduler:
> mschedctl -k

scheduler will be shutdown immediately

Example 2

Creating a virtual private cluster:
> mschedctl -c vpc -a resources=14332 -a variables=os=rhel3

vpc.98

See Also