mrsvctl controls the creation, modification, querying, and releasing of reservations.
The timeframe covered by the reservation can be specified on either an absolute or relative basis. Only jobs with credentials listed in the reservation's access control list can utilize the reserved resources. However, these jobs still have the freedom to utilize resources outside of the reservation. The reservation will be assigned a name derived from the ACL specified. If no reservation ACL is specified, the reservation is created as a system reservation and no jobs will be allowed access to the resources during the specified timeframe (valuable for system maintenance, etc). See the Reservation Overview for more information.
Reservations can be viewed using the -q flag
and can be released using the -r flag.
NOTE: By default, reservations are not exclusive and may overlap with other reservations and jobs. Use the '-E' flag to adjust this behavior.
Access
By default, this command can be run by level 1 and level 2 Moab administrators (see ADMINCFG).
Where <TYPE> is one of the following:
ACCT,
CLASS,
GROUP,
JATTR QOS,
RSV, or
USER
DEFAULT
---
DESCRIPTION
List of credentials with access to the reserved resources (See also: ACL Modifiers)
EXAMPLE
Moab will make a reservation on node01 allowing access to user john and restricting access from class batch when other resources are available to class batch
Moab will modify the system.1 reservation to allow access to user john and restrict access from class batch
Moab will remove user john from the system.1 reservation
Moab will only create a reservation on node01 if no conflicting reservations are found.
NOTE: This flag is only used at the time of reservation creation. Once the reservation is created, Moab allows jobs into the reservation based on the ACL. Also, once the exclusive reservation is created, it is possible that Moab will overlap it with jobs that match the ACL.
for create operation, create a reservation in this reservation group. For list and modify operations, take actions on all reservations in the specified reservation group
EXAMPLE
Moab will create a reservation on nodes matching the expression given and assign it to the reservation group staff
host list (comma delimited), host regular expression, host range, or class mapping indicating the nodes which the reservation will allocate.
WARNING: The
HOSTLIST attribute is always treated as a regular expression so foo10 will map to
foo10, foo101, foo1006, etc. To request an exact host match, the expression
can be bounded by the carat and dollar op expression markers as in ^foo10$
EXAMPLE
Moab will create a reservation on nodes matching the expression given
Moab will create a reservation on all nodes which support class/queue batch
When the label is assigned for a reservation, the reservation can then be referenced by that label as well as by the reservation name. The reservation name cannot be modified.
The starttime of a reservation can be modified by using starttime or -s. Modifing the starttime does not change the duration of the reservation, so the endtime changes as well. The starttime can be changed to be before the current time, but if the change causes the endtime to be before the current time, the change is not allowed.
The endtime of a reservation can be modified by using endtime or -e. Modifying the endtime changes the duration of the reservation as well (and vice versa). An endtime cannot be placed before the starttime or before the current time.
The duration can be changed by using duration or -d. Duration cannot be negative.
The += and -= operators operate on the time of the reservation (starttime+=5 adds five seconds to the current reservation starttime), while + and - operate on the current time (starttime+5 sets the starttime to five seconds from now). The + and - operators can be used on -s, and + can be used on -e as well.
If the starttime or endtime specified is before the current time without a date specified, it is set to the next time that fits the command. To force the date, add the date as well. For the following examples, assume that the current time is 9:00 a.m. on March 1, 2007.
name for new reservation. NOTE: If no name is specified, the reservation name is set to first name listed in ACL or SYSTEM if no ACL is specified. NOTE: reservation names may not contain whitespace
EXAMPLE
mrsvctl -c -h node01 -n John
(Moab will create a reservation on node01 with the name John)
<ATTR>=<VALUE> where <ATTR> is one of
aaccount (accountable account),
agroup (accountable group),
aqos (accountable QoS),
auser (accountable user),
reqarch (required architecture),
reqmemory (required node memory - in MB),
reqnetwork (required network),
reqos (required operating system), or
rsvaccesslist (comma delimited list of reservations or reservation groups which can be accessed by this reservation request)
DEFAULT
---
DESCRIPTION
specifies a reservation attribute will be used to create this reservation
EXAMPLE
Moab will create a reservation on node01 and will use the QOS high as the accountable credential
comma delimited reservation trigger list following format described in the trigger format section of the reservation configuration overview.
EXAMPLE
Moab will create a reservation on node01 and fire the script /tmp/email.sh 200 seconds after it starts
FLAG
-V
NAME
VARIABLE
FORMAT
<name>[=<value>][[;<name>[=<value>]]...]
DEFAULT
N/A
DESCRIPTION
semicolon-delimited list of variables that will be set when the reservation is created (see 17.5.4 Trigger Variables). Names with no values will simply be set to TRUE.
EXAMPLE
Moab will create a reservation on node01 and set $T1 to mac and var2 to 18.19
the name of a reservation or a regular expression for several reservations
system*
(Specifies all reservations starting with 'system')
Resource Allocation Details
When allocating resources, the following rules apply:
When specifying tasks, a each task defaults to one full compute node unless otherwise specified using the -R specification
When specifying tasks, the reservation will not be created unless all requested resources can be allocated. (This behavior can be changed by specifying '-F besteffort')
When specifying tasks or hosts, only nodes in an idle or running state will be considered. (This behavior can be changed by specifying '-F ignstate')
Reservation Timeframe Modification
Moab supports dynamically modifying the timeframe of existing reservations. This can be accomplished using the mrsvctl -m flag. By default, Moab will perform advanced boundary and resource access to verify that the modification does not result in an invalid scheduler state. However, in certain circumstances administrators may wish to FORCE the modification in spite of any access violations. This can be done using the switch mrsvctl -m --flags=force which forces Moab to bypass any access verification and force the change through.
Extending a reservation by modifying the endtime
The following increases the endtime of a reservation using the "+=" tag:
The following increases the endtime of a reservation by setting the endtime to an absolute time:
Extending a reservation by modifying the duration
The following increases the duration of a reservation using the "+=" tag:
The following increases the duration of a reservation by setting the duration to an absolute time:
Shortening a reservation by modifying the endtime
The following modifies the endtime of a reservation using the "-=" tag:
The following modifies the endtime of a reservation by setting the endtime to an absolute time:
Shortening a reservation by modifying the duration
The following modifies the duration of a reservation using the "-=" tag:
The following modifies the duration of a reservation by setting the duration to an absolute time:
Modifying the starttime of a reservation
The following increases the starttime of a reservation using the "+=" tag:
The following decreases the starttime of a reservation using the "-=" tag:
The following modifies the starttime of a reservation using an absolute time:
The following modifies the starttime of a reservation using an absolute time: