Issue: How can I write a fairshare tree for multiple partitions?
Example: I have 4 partitions configured and I would like to wrire a tree so that each partition has its own seperate credentials.
Solution:
Moab has a custom XML solution for defining Fairshare trees. For example:
FSTREE[tree] '<fstree><tnode partition="blue" name="root" type="acct" share="1" qlist="normal,standby">
<tnode name="temp" type="acct" share="1" qlist="normal,standby">
<tnode name="jbooth" ADEF="lux" ALIST="sa,lc,temp,dxdiv,texas,a,bdev,b,clbdivp,wprod,ee,lux" type="user" share="1" qlist="normal,special,standby,test,exempt,expedite,super" />
</tnode>
</tnode>
<tnode partition="green" name="root" type="acct" share="1" qlist="normal,standby,exempt,expedite,super">
<tnode name="pdesr" type="acct" share="50000" qlist="normal,standby">
<tnode name="jbooth" ADEF="lc" ALIST="sa,lc,temp,dxdiv,texas,a,bdev,b,clbdivp,wprod,ee" type="user" share="1" qlist="normal,special,standby,test,exempt,expedite,super" />
</tnode>
</tnode>
<tnode partition="red" name="root" type="acct" share="1" qlist="normal,standby">
<tnode name="temp" type="acct" share="1" qlist="normal,standby">
<tnode name="jbooth" ADEF="dxdiv" ALIST="sa,lc,temp,dxdiv,texas,a,bdev,b,clbdivp,wprod,ee" type="user" share="1" qlist="normal,special,standby,test,super" />
</tnode>
</tnode>
<tnode partition="black" name="root" type="acct" share="1" qlist="normal,standby,exempt,expedite,super">
<tnode name="root" type="user" share="1" qlist="normal,standby" />
<tnode name="jbooth" ADEF="ucla" ALIST="sa,lc,temp,dxdiv,texas,a,bdev,b,clbdivp,wprod,ee" type="user" share="1" qlist="normal,standby" />
</tnode>
</fstree>'
In the above example I have a tree defined with parent "tnode" and a few children "tnode" entries. The rules for definding a tnode are as follows.
1) If the tnode is a parent you begin with "<tnode ...>" and end with "</tnode>". You should have a child tnode defined when using this format.
e.g.
<tnode partition="aztek" name="root" type="acct" share="1" qlist="normal,standby,exempt,expedite,super">
<tnode name="jbooth" ADEF="ucla" ALIST="sa,lc,temp,dxdiv,texas,a,bdev,b,clbdivp,wprod,ee" type="user" share="1" qlist="normal,standby" />
<tnode>
2) If the tnode is a child you terminate the child with "/>" and not a "</tnode>". There is one exception. When you have a child that has a child of its own then you use the format from rule 1.
Now that the rules have been defined you now understand how to write a multi parttion faishare tree and have child credentials under each partition.
Note that it is a good idea to look into "PERPARTITIONSCHEDULING TRUE" if you are going to use a tree as there are some added benifits to using this parameter. For example per-partition job priorities.
Tags: fairshare, fairshare tree