diff --git a/include/moab.h b/include/moab.h index 5d32416..2962954 100644 --- a/include/moab.h +++ b/include/moab.h @@ -877,6 +877,7 @@ enum MClassAttrType { mclaDefReqFeature, mclaHostList, mclaName, + mclaNAPolicy, mclaMaxProcPerNode, mclaOCDProcFactor, mclaState, diff --git a/include/msched-version.h b/include/msched-version.h index 6222220..2b561ce 100644 --- a/include/msched-version.h +++ b/include/msched-version.h @@ -1 +1 @@ -#define MSCHED_VERSION "maui-3.2.6p14-snap.1129331854" +#define MSCHED_VERSION "maui-3.2.6p14-snap.1129753176" diff --git a/include/msched.h b/include/msched.h index 0712e1f..d9b441c 100644 --- a/include/msched.h +++ b/include/msched.h @@ -1161,6 +1161,7 @@ typedef struct { int IsDisabled; /* queue cannot execute jobs */ int DistPolicy; + int NAPolicy; char **NodeList; char *OCNodeName; /* overcommit node */ diff --git a/src/moab/MClass.c b/src/moab/MClass.c index 0968cc9..289fdae 100644 --- a/src/moab/MClass.c +++ b/src/moab/MClass.c @@ -19,6 +19,7 @@ extern const char *MJobFlags[]; extern const char *MClassAttr[]; extern const char *MCredAttr[]; extern const char *MXO[]; +extern const char *MNAccessPolicy[]; @@ -407,6 +408,12 @@ int MClassProcessConfig( switch(aindex) { + case mclaNAPolicy: + + C->NAPolicy = MUGetIndex(ValLine,MNAccessPolicy,FALSE,0); + + break; + case mclaOCNode: case mclaDefReqFeature: case mclaMaxProcPerNode: diff --git a/src/moab/MConst.c b/src/moab/MConst.c index ea26ab5..1ff20cb 100644 --- a/src/moab/MConst.c +++ b/src/moab/MConst.c @@ -578,6 +578,7 @@ const char *MClassAttr[] = { "DEFAULT.FEATURES", "HOSTLIST", "NAME", + "NODEACCESSPOLICY", "MAXPROCPERNODE", "OCDPROCFACTOR", "STATE", diff --git a/src/moab/MRM.c b/src/moab/MRM.c index f5fe4fe..803ac90 100644 --- a/src/moab/MRM.c +++ b/src/moab/MRM.c @@ -3644,6 +3644,10 @@ int MRMJobPostLoad( RQ = J->Req[0]; MUBMOR(RQ->ReqFBM,J->Cred.C->DefFBM,MAX_MATTR); + + if (J->Cred.C->NAPolicy != 0) + RQ->NAccessPolicy = J->Cred.C->NAPolicy; + } /* END for (rqindex) */ } diff --git a/src/moab/MSched.c b/src/moab/MSched.c index 6522d04..c1eb240 100644 --- a/src/moab/MSched.c +++ b/src/moab/MSched.c @@ -4968,13 +4968,61 @@ int MSchedProcessOConfig( case mcoDirectoryServer: - /* NYI */ + { + int tmpI; + + char *ptr; + char *TokPtr; + + /* FORMAT: [:] */ + + TokPtr = NULL; + + ptr = MUStrTok(SVal,": \t\n",&TokPtr); + + if (ptr != NULL) + MUStrDup(&MSched.DS.HostName,ptr); + + ptr = MUStrTok(NULL,": \t\n",&TokPtr); + + if (ptr != NULL) + { + tmpI = (int)strtol(ptr,NULL,10); + + if (tmpI > 0) + MSched.DS.Port = tmpI; + } + } /* END BLOCK */ break; case mcoEventServer: - /* NYI */ + { + int tmpI; + + char *ptr; + char *TokPtr; + + /* FORMAT: [:] */ + + TokPtr = NULL; + + ptr = MUStrTok(SVal,": \t\n",&TokPtr); + + if (ptr != NULL) + MUStrDup(&MSched.EM.HostName,ptr); + + ptr = MUStrTok(NULL,": \t\n",&TokPtr); + + if (ptr != NULL) + { + tmpI = (int)strtol(ptr,NULL,10); + + if (tmpI > 0) + MSched.EM.Port = tmpI; + } + } /* END BLOCK */ break;