(Click to open topic with navigation)
Synopsis
mrsvctl -c [-a acl] [-b subtype] [-d duration] [-D description] [-e endtime] [-E] [-f features] [-F flags] [-g rsvgroup] [-h hostexp] [-n name] [-o owner] [-p partition] [-P profile] [-R resources] [-s starttime] [-S setvalue] [-t tasks] [-T trigger] [-V variable] [-x joblist]
mrsvctl -C [-g standing_reservationid] {reservationid}
mrsvctl -l [{reservationid | -i index}]
mrsvctl -m <duration|endtime|reqtaskcount|starttime>{=|+=|-=}<VAL> <hostexp>{+=|-=}<VAL> <variable>{+=KEY=VAL|-=KEY_TO_REMOVE} {reservationid | -i index}
mrsvctl -q {reservationid | -i index} [--blocking]
mrsvctl -r {reservationid | -i index}
Overview
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.
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).
Format
-a | |
---|---|
Name | ACL |
Format |
<TYPE>==<VAL>[,<TYPE>==<VAL>]... |
Description | List of limitations for access to the reserved resources (See also: ACL Modifiers). |
Example |
> mrsvctl -c -h node01 -a USER==john+,CLASS==batch- 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 > mrsvctl -m -a USER-=john system.1 Moab will remove user john from the system.1 reservation |
Notes |
mrsvctl -m -a 'USER==Joe:Bob,GROUP-=BadGroup,ACCT+=GoodAccount,DURATION<=*1:00:00' system.1 Moab will reassign the USER list to be Joe and Bob, will remove BadGroup from the GROUP list, append GoodAccount to the ACCT list, and only allow jobs that have a submitted walltime of an hour or less on the system.1 reservation. mrsvctl -m -a 'USER==Joe,USER==Bob' system.1 Moab will assign the USER list to Joe, and then reassign it again to Bob. The final result will be that the USER list will just be Bob. To add Joe and Bob, use mrsvctl -m -a USER==Joe:Bob system.1 or mrsvctl -m -a USER==Joe,USER+=Bob system.1. |
-b | |
---|---|
Name | SUBTYPE |
Format | One of the node category values or node category shortcuts. |
Description | Add subtype to reservation. |
Example |
> mrsvctl -c -b SoftwareMaintenance -t ALL Moab will associate the reserved nodes with the node category SoftwareMaintenance. |
-E | |
---|---|
Name | EXCLUSIVE |
Description | When specified, Moab will only create a reservation if there are no other reservations (exclusive or otherwise) which would conflict with the time and space constraints of this reservation. If exceptions are desired, the rsvaccesslist attribute can be set or the ignrsv flag can be used. |
Example |
> mrsvctl -c -h node01 -E Moab will only create a reservation on node01 if no conflicting reservations are found. 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. |
-F | |
---|---|
Name | FLAGS |
Format | <flag>[[,<flag>]...] |
Description | Comma-delimited list of flags to set for the reservation (see Managing Reservations for flags). |
Example |
> mrsvctl -c -h node01 -F ignstate Moab will create a reservation on node01 ignoring any conflicting node states. |
-g | |
---|---|
Name | RSVGROUP |
Format | <STRING> |
Description | For a create operation, create a reservation in this reservation group. For list and modify operations, take actions on all reservations in the specified reservation group. The -g option can also be used in conjunction with the -r option to release a reservation associated with a specified group. See Reservation Group for more information. |
Example |
> mrsvctl -c -g staff -h 'node0[1-9]' Moab will create a reservation on nodes matching the node expression given and assign it to the reservation group staff. |
-h | |
---|---|
Name | host list |
Format |
class:<classname>[,<classname>]... <STRING> or |
Description |
Host expression or a class mapping indicating the nodes which the reservation will allocate. When you specify a <STRING>, the HOSTLIST attribute is always treated as a regular expression. 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 |
> mrsvctl -c -h 'r:node0[1-9]' Moab will create a reservation on nodes node01, node02, node03, node04, node05, node06, node07, node08, and node09. > mrsvctl -c -h class:batch Moab will create a reservation on all nodes which support class/queue batch. |
-m | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Name | MODIFY | ||||||||||||||
Format | <ATTR>=<VAL>[-m <ATTR2>=<VAL2>]... Where <ATTR> is one of the following:
|
||||||||||||||
Description | Modify aspects of a reservation. | ||||||||||||||
Example |
> mrsvctl -m duration=2:00:00 system.1 Moab sets the duration of reservation system.1 to be exactly two hours, thus modifying the endtime of the reservation. > mrsvctl -m starttime+=5:00:00 system.1 Moab advances the starttime of system.1 five hours from its current starttime (without modifying the duration of the reservation). > mrsvctl -m endtime-=5:00:00 system.1 Moab moves the endtime of reservation system.1 ahead five hours from its current endtime (without modifying the starttime; thus, this action is equivalent to modifying the duration of the reservation). > mrsvctl -m starttime=15:00:00_7/6/08 system.1 Moab sets the starttime of reservation system.1 to 3:00 p.m. on July 6, 2008. > mrsvctl -m starttime-=5:00:00 system.1 Moab moves the starttime of reservation system.1 ahead five hours. > mrsvctl -m starttime+=5:00:00 system.1 Moab moves the starttime of reservation system.1 five hours from the current time. > mrsvctl -m -duration+=5:00:00 system.1 Moab extends the duration of system.1 by five hours. > mrsvctl -m flags+=ADVRES system.1 Moab adds the flag ADVRES to reservation system.1. > mrsvctl -m variable+key1=val1 system.1 Moab adds the variable key1 with the value key2 to system.1. > mrsvctl -m variable+=key1=val1 variable+=key2=val2 system.1 Moab adds the variable key1 with the value val1, and variable key2 with val2 to system.1. (Note that each variable flag requires a distinct -m entry.) > mrsvctl -m variable-=key1 system.1 Moab deletes the variable key1 from system.1. > mrsvctl -m variable-=key1 -m variable-=key2 system.1 Moab deletes the variables key1 and key2 from system.1. |
||||||||||||||
Notes: |
> mrsvctl -m starttime=8:00:00_3/1/07 system.1 Moab moves system.1's starttime to 8:00 a.m., March 1. > mrsvctl -m starttime=8:00:00 system.1 Moab moves system.1's starttime to 8:00 a.m., March 2. > mrsvctl -m endtime=7:00:00 system.1 Moab moves system.1's endtime to 7:00 a.m., March 3. This happens because the endtime must also be after the starttime, so Moab continues searching until it has found a valid time that is in the future and after the starttime. > mrsvctl -m endtime=7:00:00_3/2/07 system.1 Moab will return an error because the endtime cannot be before the starttime. |
-o | |
---|---|
Name | OWNER |
Format | <CREDTYPE>:<CREDID> |
Description | Specifies the owner of a reservation. See Reservation Ownership for more information. |
Example |
mrsvctl -c -h node01 -o USER:user1 Moab creates a reservation on node01 owned by user1. |
-p | |
---|---|
Name | PARTITION |
Format | <STRING> |
Description | Only allocate resources from the specified partition |
Example |
mrsvctl -c -p switchB -t 14 Moab will allocate 14 tasks from the switchB partition. |
-P | |
---|---|
Name | PROFILE |
Format | <STRING> |
Description | Indicates the reservation profile to load when creating this reservation |
Example |
mrsvctl -c -P testing2 -t 14 Moab will allocate 14 tasks to a reservation defined by the testing2 reservation profile. |
-q | |
---|---|
Name | QUERY |
Format | <RSV_ID> — The -r option accepts x: node regular
expressions and r: node range expressions (asterisks (*) are
supported wildcards as well). |
Description | Get diagnostic information or list all completed reservations. The command gathers information from the Moab cache which prevents it from interrupting the scheduler, but the --blocking option can be used to bypass the cache and interrupt the scheduler. |
Example |
mrsvctl -q ALL Moab will query reservations. mrsvctl -q system.1 Moab will query the reservation system.1. |
-r | |
---|---|
Name | RELEASE |
Format | <RSV_ID> — The -r option accepts x: node regular expressions and r: node range expressions (asterisks (*) are supported wildcards as well). |
Description | Releases the specified reservation. |
Example |
> mrsvctl -r system.1 Moab will release reservation system.1. > mrsvctl -r -g idle Moab will release all idle job reservations. |
-S | |
---|---|
Name | SET ATTRIBUTE |
Format | <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 reqos — required operating system rsvaccesslist — comma- delimited list of reservations or reservation groups which can be accessed by this reservation request. Because each reservation can access all other reservations by default, you should make any reservation with a specified rsvaccesslist exclusive by setting the -E flag. This setting gives the otherwise exclusive reservation access to reservations specified in the list. |
Description | Specifies a reservation attribute will be used to create this reservation |
Example |
> mrsvctl -c -h node01 -S aqos=high Moab will create a reservation on node01 and will use the QOS high as the accountable credential |
-T | |
---|---|
Name | TRIGGER |
Format | <STRING> |
Description | Comma-delimited reservation trigger list following
format described in the trigger format section of the reservation configuration
overview. See About object triggers for more
information.
To cancel a standing reservation with a trigger, the SRCFG parameter's attribute DEPTH must be set to 0. |
Example |
> mrsvctl -c -h node01 -T offset=200,etype=start,atype=exec,action=/opt/moab/tools/support.diag.pl Moab will create a reservation on node01 and fire the script /tmp/email.sh 200 seconds after it starts |
-V | |
---|---|
Name | VARIABLE |
Format | <name>[=<value>][[;<name>[=<value>]]...] |
Description | Semicolon-delimited list of variables that will be set when the reservation is created (see About trigger variables). Names with no values will simply be set to TRUE. |
Example |
> mrsvctl -c -h node01 -V $T1=mac;var2=18.19 Moab will create a reservation on node01 and set $T1 to mac and var2 to 18.19. For information on modifying a variable on a reservation, see MODIFY. |
Parameters
RESERVATION ID | |
---|---|
Format | <STRING> |
Description | The name of a reservation or a regular expression for several reservations. |
Example |
system* Specifies all reservations starting with system. |
Resource Allocation Details
When allocating resources, the following rules apply:
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:
$> showres ReservationID Type S Start End Duration N/P StartTime system.1 User - 11:35:57 1:11:35:57 1:00:00:00 1/2 Sat Nov 18 00:00:00 1 reservation located $> mrsvctl -m endtime+=24:00:00 system.1 endtime for rsv 'system.1' changed $> showres ReservationID Type S Start End Duration N/P StartTime system.1 User - 11:35:22 2:11:35:22 2:00:00:00 1/2 Sat Nov 18 00:00:00 1 reservation located
The following increases the endtime of a reservation by setting the endtime to an absolute time:
$> showres ReservationID Type S Start End Duration N/P StartTime system.1 User - 11:33:18 1:11:33:18 1:00:00:00 1/2 Sat Nov 18 00:00:00 1 reservation located $> mrsvctl -m endtime=0_11/20 system.1 endtime for rsv 'system.1' changed $> showres ReservationID Type S Start End Duration N/P StartTime system.1 User - 11:33:05 2:11:33:05 2:00:00:00 1/2 Sat Nov 18 00:00:00 1 reservation located
Extending a reservation by modifying the duration
The following increases the duration of a reservation using the += tag:
$> showres ReservationID Type S Start End Duration N/P StartTime system.1 User - 11:28:46 1:11:28:46 1:00:00:00 1/2 Sat Nov 18 00:00:00 1 reservation located $> mrsvctl -m duration+=24:00:00 system.1 duration for rsv 'system.1' changed >$ showres ReservationID Type S Start End Duration N/P StartTime system.1 User - 11:28:42 2:11:28:42 2:00:00:00 1/2 Sat Nov 18 00:00:00 1 reservation located
The following increases the duration of a reservation by setting the duration to an absolute time:
$> showres ReservationID Type S Start End Duration N/P StartTime system.1 User - 11:26:41 1:11:26:41 1:00:00:00 1/2 Sat Nov 18 00:00:00 1 reservation located $> mrsvctl -m duration=48:00:00 system.1 duration for rsv 'system.1' changed $> showres ReservationID Type S Start End Duration N/P StartTime system.1 User - 11:26:33 2:11:26:33 2:00:00:00 1/2 Sat Nov 18 00:00:00 1 reservation located
Shortening a reservation by modifying the endtime
The following modifies the endtime of a reservation using the -= tag:
$> showres ReservationID Type S Start End Duration N/P StartTime system.1 User - 11:15:51 2:11:15:51 2:00:00:00 1/2 Sat Nov 18 00:00:00 1 reservation located $> mrsvctl -m endtime-=24:00:00 system.1 endtime for rsv 'system.1' changed $> showres ReservationID Type S Start End Duration N/P StartTime system.1 User - 11:15:48 1:11:15:48 1:00:00:00 1/2 Sat Nov 18 00:00:00 1 reservation located
The following modifies the endtime of a reservation by setting the endtime to an absolute time:
$ showres ReservationID Type S Start End Duration N/P StartTime system.1 User - 11:14:00 2:11:14:00 2:00:00:00 1/2 Sat Nov 18 00:00:00 1 reservation located $> mrsvctl -m endtime=0_11/19 system.1 endtime for rsv 'system.1' changed $> showres ReservationID Type S Start End Duration N/P StartTime system.1 User - 11:13:48 1:11:13:48 1:00:00:00 1/2 Sat Nov 18 00:00:00 1 reservation located
Shortening a reservation by modifying the duration
The following modifies the duration of a reservation using the -= tag:
$> showres ReservationID Type S Start End Duration N/P StartTime system.1 User - 11:12:20 2:11:12:20 2:00:00:00 1/2 Sat Nov 18 00:00:00 1 reservation located $> mrsvctl -m duration-=24:00:00 system.1 duration for rsv 'system.1' changed $> showres ReservationID Type S Start End Duration N/P StartTime system.1 User - 11:12:07 1:11:12:07 1:00:00:00 1/2 Sat Nov 18 00:00:00 1 reservation located
The following modifies the duration of a reservation by setting the duration to an absolute time:
$> showres ReservationID Type S Start End Duration N/P StartTime system.1 User - 11:10:57 2:11:10:57 2:00:00:00 1/2 Sat Nov 18 00:00:00 1 reservation located $> mrsvctl -m duration=24:00:00 system.1 duration for rsv 'system.1' changed $> showres ReservationID Type S Start End Duration N/P StartTime system.1 User - 11:10:50 1:11:10:50 1:00:00:00 1/2 Sat Nov 18 00:00:00 1 reservation located
Modifying the starttime of a reservation
The following increases the starttime of a reservation using the += tag:
$> showres ReservationID Type S Start End Duration N/P StartTime system.1 User - 11:08:30 2:11:08:30 2:00:00:00 1/2 Sat Nov 18 00:00:00 1 reservation located $> mrsvctl -m starttime+=24:00:00 system.1 starttime for rsv 'system.1' changed $> showres ReservationID Type S Start End Duration N/P StartTime system.1 User - 1:11:08:22 3:11:08:22 2:00:00:00 1/2 Sun Nov 19 00:00:00 1 reservation located
The following decreases the starttime of a reservation using the -= tag:
$> showres ReservationID Type S Start End Duration N/P StartTime system.1 User - 11:07:04 2:11:07:04 2:00:00:00 1/2 Sat Nov 18 00:00:00 1 reservation located $> mrsvctl -m starttime-=24:00:00 system.1 starttime for rsv 'system.1' changed $> showres ReservationID Type S Start End Duration N/P StartTime system.1 User - -12:53:04 1:11:06:56 2:00:00:00 1/2 Fri Nov 17 00:00:00 1 reservation located
The following modifies the starttime of a reservation using an absolute time:
$> showres ReservationID Type S Start End Duration N/P StartTime system.1 User - 11:05:31 2:11:05:31 2:00:00:00 1/2 Sat Nov 18 00:00:00 1 reservation located $> mrsvctl -m starttime=0_11/19 system.1 starttime for rsv 'system.1' changed $> showres ReservationID Type S Start End Duration N/P StartTime system.1 User - 1:11:05:18 3:11:05:18 2:00:00:00 1/2 Sun Nov 19 00:00:00 1 reservation located
The following modifies the starttime of a reservation using an absolute time:
$> showres ReservationID Type S Start End Duration N/P StartTime system.1 User - 11:04:04 2:11:04:04 2:00:00:00 1/2 Sat Nov 18 00:00:00 1 reservation located $> mrsvctl -m starttime=0_11/17 system.1 starttime for rsv 'system.1' changed $> showres ReservationID Type S Start End Duration N/P StartTime system.1 User - -12:56:02 1:11:03:58 2:00:00:00 1/2 Fri Nov 17 00:00:00 1 reservation located
Examples
Example 4-26: Basic Reservation
Reserve two nodes for use by users john and mary for a period of 8 hours starting in 24 hours
> mrsvctl -c -a USER=john,USER=mary -starttime +24:00:00 -duration 8:00:00 -t 2 reservation 'system.1' created
Example 4-27: System Maintenance Reservation
Schedule a system wide reservation to allow a system maintenance on Jun 20, 8:00 AM until Jun 22, 5:00 PM.
% mrsvctl -c -s 8:00:00_06/20 -e 17:00:00_06/22 -h ALL reservation 'system.1' created
Example 4-28: Explicit Task Description
Reserve one processor and 512 MB of memory on nodes node003 through node node006 for members of the group staff and jobs in the interactive class
> mrsvctl -c -R PROCS=1,MEM=512 -a GROUP=staff,CLASS=interactive -h 'node00[3-6]' reservation 'system.1' created
Example 4-29: Dynamic Reservation Modification
Modify reservation john.1 to start in 2 hours, run for 2 hours, and include node02 in the host list.
> mrsvctl -m starttime=+2:00:00,duration=2:00:00,HostExp+=node02 Note: hosts added to rsv system.3
Example 4-30: Reservation Modification
Remove user John's access to reservation system.1
> mrsvctl -m -a USER=John system.1 --flags=unset successfully changed ACL for rsv system.1
Example 4-31: Allocating Reserved Resources
Allocate resources for group dev which are exclusive except for resources found within reservations myrinet.3 or john.6
> mrsvctl -c -E -a group=dev,rsv=myrinet.3,rsv=john.6 -h 'node00[3-6]' reservation 'dev.14' created
Create exclusive network reservation on racks 3 and 4
> mrsvctl -c -E -a group=ops -g network -f rack3 -h ALL reservation 'ops.1' created > mrsvctl -c -E -a group=ops -g network -f rack4 -h ALL reservation 'ops.2' created
Allocate 64 nodes for 2 hours to new reservation and grant access to reservation system.3 and all reservations in the reservation group network
> mrsvctl -c -E -d 2:00:00 -a group=dev -t 64 -S rsvaccesslist=system.3,network reservation 'system.23' created
Allocate 4 nodes for 1 hour to new reservation and grant access to idle job reservations
> mrsvctl -c -E -d 1:00:00 -t 4 -S rsvaccesslist=idle reservation 'system.24' created
Example 4-32: Modifying an Existing Reservation
Remove user john from reservation ACL
> mrsvctl -m -a USER=john system.1 --flags=unset successfully changed ACL for rsv system.1
Change reservation group
> mrsvctl -m RSVGROUP=network ops.4 successfully changed RSVGROUP for rsv ops.4
Related topics