(Moab Virtual Container Control)
Synopsis
Overview
A virtual container (VC) is a logical grouping of objects with a shared variable space and applied policies. Containers can hold virtual machines, physical machines, jobs, reservations, and nodes. Containers can also be nested inside other containers.
A VC can be owned by a user, group, or account. Users can only view VCs to which they have access. Admin1 users can view and modify all VCs. The owner can also be changed. When modifying the owner, you must also specify the owner type:
mvcctl -m OWNER=acct:bob myvc
Adding objects to VCs at submission: You associate jobs, VMs, and reservations with a specified VC upon submission. For example,
Note: The user who submits objects must have access to the VC or the command is rejected.
FullXML flag
The FullXML flag will cause the mvcctl -q command to show VCs in a hierarchical manner. If doing a non-XML (plaintext) query, sub-VCs will be listed inside their parent VCs. Each VC will be indented more than its parent.
VC[vc2] (vc2) Owner: user:jason VCs: VC[vc1] (vc1) Owner: user:jason Jobs: Moab.1 Rsvs: system.1 VCs: VC[vc3] (vc3) Owner: user:jason VC[vc4] (vc4) Owner: user:jason
If doing an XML query, the XML for all sub-objects (VCs, but also reservations, jobs, etc.) will also be included in the VC.
<Data> <vc DESCRIPTION="vc2" NAME="vc2" OWNER="user:jason"> <vc DESCRIPTION="vc1" NAME="vc1" OWNER="user:jason"> <job CmdFile="sleep 7200" Flags="GLOBALQUEUE,NORMSTART" Group="jason" JobID="Moab.1" PAL="[base]" RM="internal" ReqAWDuration="2:00:00" User="jason"> <req Index="0"></req> </job> <rsv ACL="RSV=%=system.1=;" AUser="jason" AllocNodeList="n0,n1,n2,n3,n4,n5,n6,n7,n8,n9" HostExp="ALL" HostExpIsSpecified="TRUE" Name="system.1" Partition="base" ReqNodeList="n0:1,n1:1,n2:1,n3:1,n4:1,n5:1,n6:1,n7:1,n8:1,n9:1" Resources="PROCS=[ALL]" StatCIPS="5964.00" SubType="Other" Type="User" ctime="1299953557" duration="3600" endtime="1299957157" flags="ISCLOSED,ISGLOBAL,ISACTIVE,REQFULL" starttime="1299953557"> <ACL aff="neutral" cmp="%=" name="system.1" type="RSV"> </ACL> <CL aff="neutral" cmp="%=" name="system.1" type="RSV"></CL> <History> <event state="PROCS=40" time="1299953557"></event> </History> </rsv> <vc DESCRIPTION="vc3" NAME="vc3" OWNER="user:jason"></vc> </vc> <vc DESCRIPTION="vc4" NAME="vc4" OWNER="user:jason"></vc> </vc> </Data>
Note that the XML from the blocking and non-blocking commands may differ.
Virtual Container Flags
The following table indicates available virtual container (VC) flags and associated descriptions. Note that the Deleting, HasStarted, and Workflow flags cannot be set by a user but are helpful indicators of status.
Format
-a | |
Format: | mvcctl -a <OType>:<OName>[,<OType>:<OName>] <name> |
Default: | --- |
Description: | Add the given object(s). |
Example: |
mvcctl -a JOB:Moab.45 vc13 >>job 'Moab.45' added to VC 'vc13' |
-c | |
Format: | mvcctl -c [<description>] |
Default: | --- |
Description: | Create a virtual container (VC). The VC name is auto-generated. It is recommended that you supply a description; otherwise the description is the same as the auto-generated name. |
Example: |
mvcctl -c "Linux testing machine" >>VC 'vc13' created |
-d | |
Format: | mvcctl -d <lab01> |
Default: | --- |
Description: | Destroy the VC. |
Example: |
mvcctl -d vc13 >>VC 'vc13' destroyed |
-m | |
Format: | mvcctl -m <ATTR>=VAL[,<ATTR>=<VAL>] <name> |
Default: | --- |
Description: | Modify the VC. Attributes are flags, owner, reqstarttime, reqnodeset, variables, and owner; note that only the owner can modify owner. Use reqstarttime when implementing guaranteed start time to specify when jobs should start. The reqnodeset attribute indicates the node set that jobs should run in that are submitted to a virtual container. |
Example: |
mvcctl variables+=HV=node8 vc13 >>VC 'vc13' successfully modified mvcctl -m flags+=DESTROYWHENEMPTY vc1 >>VC 'vc1' successfully modified |
-q | |
Format: | mvcctl -q [<name>|ALL] [--xml][--blocking][--flags=fullxml] |
Default: | --- |
Description: | Query VCs |
Example: |
mvcctl -q ALL VC[vc13] (Linux testing machine) Create Time: 1311027343 Creator: jdoe Owner: user:jdoe ACL: USER=%=jdoe+; Jobs: Moab.45 Vars: HV=node88 Flags: DESTROYWHENEMPTY |
-r | |
Format: | mvcctl -r <OType>:<OName>[,<OType>:<OName>] <name> |
Default: | --- |
Description: | Remove the given object(s) from the VC. |
Example: |
mvcctl -r JOB:Moab.45 vc13 >>job 'Moab.45' removed from VC 'vc13' |
-x | |
Format: | mvcctl -x <action> <name> |
Default: | --- |
Description: | Executes the given action on the virtual container (VC). |
Example: |
mvcctl -x schedulevc vc1 |
Copyright © 2012 Adaptive Computing Enterprises, Inc.®