You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@uima.apache.org by ch...@apache.org on 2015/03/06 18:11:39 UTC
svn commit: r1664680 [1/2] - in /uima/sandbox/uima-ducc/trunk:
src/main/resources/
uima-ducc-common/src/main/java/org/apache/uima/ducc/common/
uima-ducc-common/src/main/java/org/apache/uima/ducc/common/utils/
uima-ducc-common/src/test/java/org/apache/u...
Author: challngr
Date: Fri Mar 6 17:11:37 2015
New Revision: 1664680
URL: http://svn.apache.org/r1664680
Log:
UIMA-4275 User limits and class inclusion mechanism.
Added:
uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test1/resources/ducc.users
uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test10/
uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test10/resources/
uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test10/resources/ducc.classes
uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test10/resources/ducc.nodes
uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test10/resources/ducc.users
uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test10/resources/npA.nodes
uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test10/resources/npB.nodes
uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test10/resources/npC.nodes
uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test10/resources/npD.nodes
uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test10/resources/npE.nodes
uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test11/
uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test11/resources/
uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test11/resources/ducc.classes
uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test11/resources/ducc.nodes
uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test11/resources/ducc.users
uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test11/resources/npA.nodes
uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test11/resources/npB.nodes
uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test11/resources/npC.nodes
uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test11/resources/npD.nodes
uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test11/resources/npE.nodes
uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test12/
uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test12/resources/
uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test12/resources/ducc.classes
uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test12/resources/ducc.nodes
uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test12/resources/ducc.users
uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test12/resources/npA.nodes
uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test12/resources/npB.nodes
uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test12/resources/npC.nodes
uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test12/resources/npD.nodes
uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test12/resources/npE.nodes
uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test2/resources/ducc.users
uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test3/resources/ducc.users
uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test4/resources/ducc.users
uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test5/resources/ducc.users
uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test6/resources/ducc.users
uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test7/resources/ducc.users
uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test8/resources/ducc.users
uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test9/
uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test9/resources/
uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test9/resources/ducc.classes
uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test9/resources/ducc.nodes
uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test9/resources/ducc.users
uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test9/resources/npA.nodes
uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test9/resources/npB.nodes
uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test9/resources/npC.nodes
uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test9/resources/npD.nodes
uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test9/resources/npE.nodes
Modified:
uima/sandbox/uima-ducc/trunk/src/main/resources/default.ducc.properties
uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/NodeConfiguration.java
uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/utils/DuccPropertiesResolver.java
uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/utils/DuccSchedulerClasses.java
uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/java/org/apache/uima/ducc/common/test/NodeConfigurationTest.java
uima/sandbox/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/OrchestratorHelper.java
uima/sandbox/uima-ducc/trunk/uima-ducc-rm/src/main/java/org/apache/uima/ducc/rm/JobManagerConverter.java
uima/sandbox/uima-ducc/trunk/uima-ducc-rm/src/main/java/org/apache/uima/ducc/rm/scheduler/ResourceClass.java
uima/sandbox/uima-ducc/trunk/uima-ducc-rm/src/main/java/org/apache/uima/ducc/rm/scheduler/Scheduler.java
uima/sandbox/uima-ducc/trunk/uima-ducc-rm/src/main/java/org/apache/uima/ducc/rm/scheduler/User.java
Modified: uima/sandbox/uima-ducc/trunk/src/main/resources/default.ducc.properties
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/src/main/resources/default.ducc.properties?rev=1664680&r1=1664679&r2=1664680&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/src/main/resources/default.ducc.properties (original)
+++ uima/sandbox/uima-ducc/trunk/src/main/resources/default.ducc.properties Fri Mar 6 17:11:37 2015
@@ -350,8 +350,10 @@ ducc.rm.state.publish.ratio = 1
ducc.rm.share.quantum = 1
# Implementation class for actual scheduling algorithm
ducc.rm.scheduler = org.apache.uima.ducc.rm.scheduler.NodepoolScheduler
-# File defining thescheduler classes - found in DUCC_HOME/resources
+# File defining the scheduler classes - found in DUCC_HOME/resources
ducc.rm.class.definitions = ducc.classes
+# File defining the user registry. Optional, need not exist. Found in DUCC_HOME/resources.
+ducc.rm.user.registry = ducc.users
# default memory, in GB, if not specified
ducc.rm.default.memory = 4
# number of node metrics heartbeats to wait for before rm starts up
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/NodeConfiguration.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/NodeConfiguration.java?rev=1664680&r1=1664679&r2=1664680&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/NodeConfiguration.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/NodeConfiguration.java Fri Mar 6 17:11:37 2015
@@ -47,19 +47,22 @@ public class NodeConfiguration
{
String config_file_name = null;
String ducc_nodes = null;
+ String ducc_users = null;
BufferedReader in;
int lineno = 0;
DuccProperties defaultFairShareClass = new DuccProperties();
DuccProperties defaultFixedShareClass = new DuccProperties();
DuccProperties defaultReserveClass = new DuccProperties();
DuccProperties defaultNodepool = new DuccProperties();
+ DuccProperties defaultUser = new DuccProperties(); // UIMA-4275
Map<String, DuccProperties> nodepools = new HashMap<String, DuccProperties>(); // all nodepools, by name
ArrayList<DuccProperties> independentNodepools = new ArrayList<DuccProperties>(); // the top-level node pools
// UIMA-4142 Move all these declarations to the top and comment them
- ArrayList<DuccProperties> classes = new ArrayList<DuccProperties>(); // all classes, during parsing, a discard
- Map<String, DuccProperties> clmap = new HashMap<String, DuccProperties>(); // all classes, by name
+ List<DuccProperties> classes = new ArrayList<DuccProperties>(); // all classes, during parsing, a discard
+ Map<String, DuccProperties> clmap = new HashMap<String, DuccProperties>(); // all classes, by name
+ Map<String, DuccProperties> usermap = new HashMap<String, DuccProperties>(); // all users, by name UIMA-4275
ArrayList<String> independentClasses = new ArrayList<String>(); // all classes that don't derive from something
Map<String, String> allNodes = new HashMap<String, String>(); // map node -> nodepool name, map for dup checking
@@ -80,15 +83,11 @@ public class NodeConfiguration
DuccProperties reserveDefault = null;
String ducc_home = null;
- public NodeConfiguration(String config_file_name, DuccLogger logger)
- {
- this(config_file_name, null, logger);
- }
-
- public NodeConfiguration(String config_file_name, String ducc_nodes, DuccLogger logger)
+ public NodeConfiguration(String config_file_name, String ducc_nodes, String ducc_users, DuccLogger logger)
{
this.config_file_name = config_file_name;
this.ducc_nodes = ducc_nodes;
+ this.ducc_users = ducc_users;
this.logger = logger;
ducc_home = System.getProperty("DUCC_HOME");
@@ -105,7 +104,9 @@ public class NodeConfiguration
defaultFairShareClass.put("prediction-fudge", ""+SystemPropertyResolver.getIntProperty("ducc.rm.prediction.fudge", 60000));
defaultFairShareClass.put("max-processes", Integer.toString(Integer.MAX_VALUE));
defaultFairShareClass.put("nodepool", "<required>");
+ defaultFairShareClass.put("users", "<optional>");
defaultFairShareClass.put("debug", "fixed");
+ defaultFairShareClass.put("hostile", "false");
defaultFairShareClass.put("abstract", "<optional>");
defaultFairShareClass.put("children", "<optional>");
defaultFairShareClass.put("parent", "<optional>");
@@ -124,6 +125,7 @@ public class NodeConfiguration
defaultFixedShareClass.put("max-processes", Integer.toString(Integer.MAX_VALUE));
defaultFixedShareClass.put("cap", Integer.toString(Integer.MAX_VALUE));
defaultFixedShareClass.put("nodepool", "<required>");
+ defaultFixedShareClass.put("users", "<optional>");
defaultReserveClass.put("type", "class");
defaultReserveClass.put("name", "defaultReserveClass");
@@ -136,6 +138,7 @@ public class NodeConfiguration
defaultReserveClass.put("max-machines", Integer.toString(Integer.MAX_VALUE));
defaultReserveClass.put("cap", Integer.toString(Integer.MAX_VALUE));
defaultReserveClass.put("nodepool", "<required>");
+ defaultReserveClass.put("users", "<optional>");
defaultReserveClass.put("enforce", "true");
defaultNodepool.put("type", "nodepool");
@@ -143,6 +146,9 @@ public class NodeConfiguration
defaultNodepool.put("nodefile", "<optional>");
defaultNodepool.put("parent", "<optional>");
defaultNodepool.put("domain", "<optional>");
+
+ defaultUser.put("type", "user");
+ defaultUser.put("name", "<optional>");
}
/**
@@ -156,7 +162,7 @@ public class NodeConfiguration
}
File f = new File(file);
if ( ! f.exists() ) {
- throw new IllegalConfigurationException("File " + file + " does not exist or cannot be read");
+ return null; // UIMA-4275 Defer crash to caller, making it optional.
}
return file;
}
@@ -232,7 +238,7 @@ public class NodeConfiguration
line = line.trim();
if ( line.equals("") ) continue;
if ( line.startsWith("#") ) continue;
- return line;
+ return line + ";"; // convert linend into ; so we can do lists
}
return null;
}
@@ -247,7 +253,7 @@ public class NodeConfiguration
while ( (buf == null) || !buf.hasMoreTokens() ) {
String line = readLine();
if ( line == null ) return false;
- buf = new StringTokenizer(line, "\n\t\r\f{} =;", true);
+ buf = new StringTokenizer(line, "\n\t\r\f{} =,;", true);
}
return true;
}
@@ -255,43 +261,76 @@ public class NodeConfiguration
/**
* Provide a continual stream of tokens, throwing out whitespace and semocolons
*/
+ String pushback = null;
String nextToken()
throws IOException
{
+ if ( pushback != null ) {
+ // System.out.println("Return " + pushback + " from pushback.");
+ String ret = pushback;
+ pushback = null;
+ return ret;
+ }
+
while ( fillBuf() ) {
String tok = null;
while ( buf.hasMoreTokens() ) {
tok = buf.nextToken();
- if ( tok.equals(" ") ) continue;
- if ( tok.equals("\t") ) continue;
- if ( tok.equals(";") ) continue; // optional semicolon, ignored
+ // System.out.println("Token: " + tok);
+ if ( tok.equals(" ") ) continue; // ignoring whitespace
+ if ( tok.equals("\t") ) continue; // ignoring whitespace
+ if ( tok.equals(",") ) continue; // ignoring commas as whitespace
+
return tok;
}
}
return null;
}
+ /**
+ * Consume the token stream up to the next delimeter.
+ */
+ String consume()
+ throws IOException
+ {
+ String tok = nextToken();
+ if ( tok.equals("=") ) tok = nextToken(); // optional '='
+ if ( tok.equals("}") ) return tok; // start of stream is }, probably invalid
+ if ( tok.equals("{") ) return tok; // start of stream is {, probably invalid
+
+ String ret = null;
+ while ( tok != null ) {
+ if ( tok.equals(";") ) return ret; // logical eol
+
+ if ( tok.equals("}") || tok.equals("{") ) { // start or begin of stanza, not at start of stream
+ pushback = tok; // we allow 1 token pushback
+ return ret;
+ }
+ if ( ret == null ) {
+ ret = tok;
+ } else {
+ ret = ret + " " + tok;
+ }
+ tok = nextToken();
+ }
+ return ret;
+ }
+
void parseInternal(DuccProperties props)
throws IOException,
IllegalConfigurationException
{
-// System.out.println("Parsing nodepool " + name);
-// if ( parent == null ) {
-// System.out.println(" <base>");
-// } else {
-// System.out.println(" Inherits from " + parent);
-// }
-
String tok = null;
while ( (tok = nextToken() ) != null ) {
+ if ( tok.equals(";") ) continue;
if ( tok.equals("}") ) return;
String k = tok;
if ( k.equals("{") ) {
throw new IllegalConfigurationException("Missing '}' near line " + lineno + " in " + config_file_name);
}
- String v = nextToken();
- if ( v.equals("=") ) v = nextToken(); // (optionally allow k v or k=v)
+
+ String v = consume();
if ( v.equals("}") ) {
throw new IllegalConfigurationException("Missing value near line " + lineno + " in " + config_file_name);
@@ -300,10 +339,10 @@ public class NodeConfiguration
throw new IllegalConfigurationException("Missing '}' near line " + lineno + " in " + config_file_name);
}
- if ( props.getProperty(k) == null ) {
+ if ( ! props.containsKey(k) ) {
props.put(k, v);
} else {
- throw new IllegalConfigurationException("Duplicate property near line " + lineno + " in " + config_file_name + ": " + k);
+ throw new IllegalConfigurationException("Duplicate property not allowed near line " + lineno + " in " + config_file_name + ": " + k);
}
}
return;
@@ -313,12 +352,6 @@ public class NodeConfiguration
throws IOException,
IllegalConfigurationException
{
-// System.out.println("Parsing nodepool " + name);
-// if ( parent == null ) {
-// System.out.println(" <base>");
-// } else {
-// System.out.println(" Inherits from " + parent);
-// }
if ( firstNodepool == null ) {
firstNodepool = name;
@@ -369,6 +402,23 @@ public class NodeConfiguration
if ( parent != null ) {
ret.put("parent", parent);
}
+
+ parseInternal(ret);
+
+ return ret;
+ }
+
+ // UIMA-4275
+ DuccProperties parseUser(String name, String parent)
+ throws IOException,
+ IllegalConfigurationException
+ {
+ DuccProperties ret = new DuccProperties();
+ ret.put("type", "user");
+ ret.put("name", name);
+ if ( parent != null ) {
+ ret.put("parent", parent);
+ }
parseInternal(ret);
@@ -381,6 +431,8 @@ public class NodeConfiguration
{
String tok;
while ( (tok = nextToken()) != null ) {
+
+ if ( tok.equals(";") ) continue; // logical EOL, ignore here
String type = tok; // stanza type
String name = nextToken(); // stanza name
@@ -402,6 +454,7 @@ public class NodeConfiguration
if ( type.equals("Nodepool") ) nodepools.put(name, parseNodepool(name, parent));
if ( type.equals("Class") ) classes.add(parseClass(name, parent));
+ if ( type.equals("User") ) usermap.put(name, parseUser(name, parent)); // UIMA-4275
}
return null;
}
@@ -434,7 +487,7 @@ public class NodeConfiguration
throw new IllegalConfigurationException("Missing required property " + k + " in " + type + " " + name);
}
- if ( vm.equals("<optional>") ) { // its optional but there is no meaningful default
+ if ( vm.contains("<optional>") ) { // its optional but there is no meaningful default
continue;
}
@@ -654,7 +707,12 @@ public class NodeConfiguration
BufferedReader br = null;
try {
- nodefile = resolve(nodefile);
+ String tnodefile = resolve(nodefile);
+ if ( tnodefile == null ) {
+ throw new IllegalConfigurationException("File " + nodefile + " does not exist.");
+ }
+ nodefile = tnodefile;
+
br = new BufferedReader(new FileReader(nodefile));
String node = "";
while ( (node = br.readLine()) != null ) {
@@ -807,6 +865,40 @@ public class NodeConfiguration
}
/**
+ * Make sure any classes specified in the user registry exist and specify a number.
+ * Expected format:
+ * max_allotment.classname = number
+ *
+ * UIMA-4275
+ */
+ void verifyUserLimits()
+ throws IllegalConfigurationException
+ {
+ for (Object o : usermap.keySet() ) {
+ DuccProperties dp = usermap.get(o);
+ for ( Object l : dp.keySet() ) {
+
+ if ( defaultUser.containsKey(l) ) continue;
+
+ String k = (String) l;
+ String val = ((String) dp.get(k)).trim();
+ if ( k.indexOf(".") <= 0 ) {
+ throw new IllegalConfigurationException("User " + o + ": allotment incorrectly specified, cannot determine class. " + k + " = " + val);
+ }
+ String[] tmp = k.split("\\.");
+ if ( ! clmap.containsKey(tmp[1]) ) {
+ throw new IllegalConfigurationException("User " + o + ": allotment incorrectly specified, class not defined. " + k + " = " + val);
+ }
+ try {
+ Integer.parseInt(val);
+ } catch ( NumberFormatException e ) {
+ throw new IllegalConfigurationException("User " + o + ": allotment incorrectly specified, value not a number. " + k + " = " + val);
+ }
+ }
+ }
+ }
+
+ /**
* Read all the node pool files recursively down from the properties file (p) and
* create a map node -> nodepoolname checking for duplicates.
* @param p Properties file representing a nodepool
@@ -878,6 +970,11 @@ public class NodeConfiguration
return clmap;
}
+ public Map<String, DuccProperties> getUsers()
+ {
+ return usermap;
+ }
+
public void readConfiguration()
throws FileNotFoundException,
IOException,
@@ -888,14 +985,28 @@ public class NodeConfiguration
}
defaultDomain = getDomainName();
- config_file_name = resolve(config_file_name);
- in = new BufferedReader(new FileReader(config_file_name));
+ try {
+ String tconfig_file_name = resolve(config_file_name);
+ if ( tconfig_file_name == null ) {
+ throw new IllegalConfigurationException("File " + config_file_name + " does not exist.");
+ }
+ config_file_name = tconfig_file_name;
+ in = new BufferedReader(new FileReader(config_file_name));
+
+ parseStanzas();
+ doClassInheritance();
+ connectNodepools();
+ readNpNodes(defaultDomain);
+ checkForCycles();
+ } finally {
+ if ( in != null ) {
+ try { in.close();
+ } catch (IOException e) {
+ // nothing ... who cares if we got this far, and what can we do anyway ?
+ }
+ }
+ }
- parseStanzas();
- doClassInheritance();
- connectNodepools();
- readNpNodes(defaultDomain);
- checkForCycles();
//for (DuccProperties p : independentNodepools) { // walk the tree and read the node files
// readNpNodes(p, defaultDomain);
//}
@@ -919,11 +1030,24 @@ public class NodeConfiguration
throw new IllegalConfigurationException(msg);
}
+
+ // UIMA-4275 if classes are ok do the user registry, if it exists
try {
- in.close();
- } catch (IOException e) {
- // nothing ... who cares if we got this far, and what can we do anyway ?
+ ducc_users = resolve(ducc_users);
+ if ( ducc_users != null ) {
+ in = new BufferedReader(new FileReader(ducc_users));
+ parseStanzas();
+ verifyUserLimits(); // insure the specified classes exist
+ }
+ } finally {
+ if ( in != null ) {
+ try { in.close();
+ } catch (IOException e) {
+ // nothing ... who cares if we got this far, and what can we do anyway ?
+ }
+ }
}
+
}
String formatNodes(Map<String, String> nodes, int indent)
@@ -1009,8 +1133,11 @@ public class NodeConfiguration
void printClass(DuccProperties cl)
{
String methodName = "printClass";
- logInfo(methodName, "Class " + cl.get("name"));
+ logInfo(methodName, "Class " + cl.get("name"));
printProperty("Policy", cl.get("policy"));
+ if ( cl.get("policy").equals("FAIR_SHARE") ) {
+ printProperty("hostile", cl.get("hostile"));
+ }
printProperty("Nodepool", cl.get("nodepool"));
printProperty("Priority", cl.get("priority"));
printProperty("Weight", cl.get("weight"));
@@ -1023,6 +1150,22 @@ public class NodeConfiguration
printProperty("Max Processes", cl.get("max-processes"));
printProperty("Max Machines", cl.get("max-machines"));
printProperty("Enforce Memory Size",cl.get("enforce"));
+ printProperty("Authorized Users" ,cl.get("users"));
+
+ logInfo(methodName, "");
+ }
+
+ void printUser(DuccProperties cl)
+ {
+ String methodName = "printUser";
+ logInfo(methodName, "User " + cl.get("name"));
+
+ for (Object o : cl.keySet() ) {
+ String k = (String) o;
+ if ( k.startsWith("max_allotment.") ) {
+ printProperty(k, cl.get(k));
+ }
+ }
logInfo(methodName, "");
}
@@ -1046,6 +1189,12 @@ public class NodeConfiguration
for ( DuccProperties p : class_set ) {
printClass(p);
}
+
+ DuccProperties[] user_set = usermap.values().toArray(new DuccProperties[usermap.size()]);
+ Arrays.sort(user_set, new UserSorter());
+ for ( DuccProperties p : user_set ) {
+ printUser(p);
+ }
}
static void usage(String msg)
@@ -1055,10 +1204,11 @@ public class NodeConfiguration
System.out.println("");
}
System.out.println("Usage:");
- System.out.println(" NodeConfiguration [-c class-definitions] [-n nodefile] [-p] <configfile>");
+ System.out.println(" NodeConfiguration [-c class-definitions] [-n nodefile] [-u userfile] [-p] <configfile>");
System.out.println("Where:");
System.out.println(" -c <class-definitions> is the class definition file, usually ducc.classes.");
System.out.println(" -n <nodefile> is nodefile used with tye system, defaults to ducc.nodes");
+ System.out.println(" -u <userfile> is the user registry.");
System.out.println(" -p Prints the parsed configuration, for verification.");
System.out.println(" -? show this help.");
System.out.println("");
@@ -1073,6 +1223,7 @@ public class NodeConfiguration
boolean doprint = false;
String nodefile = null;
+ String userfile = null;
String config = null;
int i = 0;
@@ -1091,6 +1242,12 @@ public class NodeConfiguration
continue;
}
+ if ( args[i].equals("-u") ) {
+ userfile = args[i+1];
+ i++;
+ continue;
+ }
+
if ( args[i].equals("-c") ) {
config = args[i+1];
i++;
@@ -1112,7 +1269,7 @@ public class NodeConfiguration
usage("Nodefile not specified.");
}
- NodeConfiguration nc = new NodeConfiguration(config, nodefile, null);
+ NodeConfiguration nc = new NodeConfiguration(config, nodefile, userfile, null);
int rc = 0;
try {
@@ -1161,6 +1318,17 @@ public class NodeConfiguration
return n1.compareTo(n2);
}
}
+
+ static public class UserSorter
+ implements Comparator<DuccProperties>
+ {
+ public int compare(DuccProperties u1, DuccProperties u2)
+ {
+ String n1 = u1.getProperty("name");
+ String n2 = u2.getProperty("name");
+ return n1.compareTo(n2);
+ }
+ }
}
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/utils/DuccPropertiesResolver.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/utils/DuccPropertiesResolver.java?rev=1664680&r1=1664679&r2=1664680&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/utils/DuccPropertiesResolver.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/utils/DuccPropertiesResolver.java Fri Mar 6 17:11:37 2015
@@ -125,6 +125,7 @@ public class DuccPropertiesResolver {
public static final String ducc_jd_startup_initialization_error_limit = "ducc.jd.startup.initialization.error.limit";
public static final String ducc_rm_class_definitions = "ducc.rm.class.definitions";
+ public static final String ducc_rm_user_registry = "ducc.rm.user.registry"; // UIMA-4275
public static final String ducc_rm_share_quantum = "ducc.rm.share.quantum";
public static final String ducc_jd_share_quantum = "ducc.jd.share.quantum";
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/utils/DuccSchedulerClasses.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/utils/DuccSchedulerClasses.java?rev=1664680&r1=1664679&r2=1664680&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/utils/DuccSchedulerClasses.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/main/java/org/apache/uima/ducc/common/utils/DuccSchedulerClasses.java Fri Mar 6 17:11:37 2015
@@ -83,7 +83,7 @@ public class DuccSchedulerClasses {
File file = new File(fileName);
if ( lastModified != file.lastModified() ) { // reread if it looks like it changed
lastModified = file.lastModified();
- nodeConfiguration = new NodeConfiguration(fileName, logger);
+ nodeConfiguration = new NodeConfiguration(fileName, null, null, logger); // UIMA-4275 use single common constructor
lastModified = file.lastModified();
nodeConfiguration.readConfiguration();
}
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/java/org/apache/uima/ducc/common/test/NodeConfigurationTest.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/java/org/apache/uima/ducc/common/test/NodeConfigurationTest.java?rev=1664680&r1=1664679&r2=1664680&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/java/org/apache/uima/ducc/common/test/NodeConfigurationTest.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/java/org/apache/uima/ducc/common/test/NodeConfigurationTest.java Fri Mar 6 17:11:37 2015
@@ -40,6 +40,10 @@ public class NodeConfigurationTest
"test6", "Toplevel NP, parent is not --default--" , "0", // pass
"test7", "Class references non-existent NP" , "1", // fail
"test8", "Two NPs with no node file specified" , "1", // fail
+ "test9", "max_allotment.class Incorrectly specified" , "1", // fail
+ "test10", "Memory limit not an integer" , "1", // fail
+ "test11", "Parseing userlist in class definitions" , "0", // pass
+ "test12", "User max references invalid class" , "1", // fail
};
List<String> successes = new ArrayList<String>();
@@ -58,7 +62,8 @@ public class NodeConfigurationTest
System.getProperties().setProperty("DUCC_HOME", resolve(test));
String nodefile = "ducc.nodes";
String config = "ducc.classes";
- NodeConfiguration nc = new NodeConfiguration(config, nodefile, null);
+ String users = "ducc.users";
+ NodeConfiguration nc = new NodeConfiguration(config, nodefile, users, null);
int rc = 0;
try {
Added: uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test1/resources/ducc.users
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test1/resources/ducc.users?rev=1664680&view=auto
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test1/resources/ducc.users (added)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test1/resources/ducc.users Fri Mar 6 17:11:37 2015
@@ -0,0 +1,10 @@
+User user1 {
+ max_allotment.normal = 50
+ max_allotment.normal-npA = 17
+}
+
+User user2 {
+ max_allotment.normal = 200
+ max_allotment.fixed = 72
+
+}
Added: uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test10/resources/ducc.classes
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test10/resources/ducc.classes?rev=1664680&view=auto
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test10/resources/ducc.classes (added)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test10/resources/ducc.classes Fri Mar 6 17:11:37 2015
@@ -0,0 +1,90 @@
+# -----------------------------------------------------------------------
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+# -----------------------------------------------------------------------
+
+
+# The first nodepool is the default nodepool which contains defaults for *all* nodepools.
+# There need not be any subpools of global or even nodes. Any node not otherwise assigned
+# to a nodepool is given to --default-- when it checks in.
+
+# Specify 'default = true' in a fair-share class for job default
+# Specify 'default = true' in a non-fair-share class for reservation default
+# Specify the alternative debug class as 'debug = class'. No default debug, use
+# inheritance as shown below
+
+# Test: Everything correct and straighforward, 4 levels of nesting
+Nodepool --default-- { }
+Nodepool npA { nodefile npA.nodes ; parent --default-- }
+Nodepool npB { nodefile npB.nodes ; parent --default-- }
+Nodepool npC { nodefile npC.nodes ; parent npA }
+Nodepool npD { nodefile npD.nodes ; parent npC }
+Nodepool npE { nodefile npE.nodes ; parent npB }
+
+# Nnodepools may be defined with additional Nodepool statements. For example here we define
+# a nodpool as a subpool of the default:
+# Nodepool subpool1 { parent = --default-- }
+# Here we define a second 'top-level' nodepool with no parent, consisting of the nodes defined
+# in the file toplevel1.nodes.
+# Nodepool toplevel1 { nodefile = toplevel1.nodes }
+
+
+# --------------------- Fair share definitions ---------------
+# The 'fair-base' class is a template for other fair-share classes. Classes derived
+# from here inherit all its properties. fair-base is identified as a template because
+# it has the property 'abstract = true'
+#
+
+Class fair-base {
+ policy = FAIR_SHARE
+ nodepool = --default--
+ priority = 10
+ weight = 100
+ abstract = true
+}
+
+# These classes are derived from fair-base, and override the 'weight' property. As well
+# class 'normal' is designated as the default FAIR_SHARE class
+Class normal fair-base { weight = 100; default = true }
+Class normal-npA fair-base { weight = 100; nodepool = npA }
+Class normal-npB fair-base { weight = 100; nodepool = npB }
+Class normal-npC fair-base { weight = 100; nodepool = npC }
+Class normal-npD fair-base { weight = 100; nodepool = npD }
+Class normal-npE fair-base { weight = 100; nodepool = npE }
+
+# --------------------- Fixed share definitions ---------------
+Class fixed-base {
+ policy = FIXED_SHARE
+ nodepool = --default--
+ priority = 5
+ abstract = true
+ max-processes = 10
+}
+
+Class fixed fixed-base { default = true}
+Class JobDriver fixed-base { priority = 9 }
+
+# --------------------- Reserve definitions ---------------
+Class reserve-base {
+ policy = RESERVE
+ nodepool = --default--
+ priority = 1
+ abstract = true
+ max-machines = 10
+}
+
+Class reserve reserve-base { default = true }
Added: uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test10/resources/ducc.nodes
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test10/resources/ducc.nodes?rev=1664680&view=auto
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test10/resources/ducc.nodes (added)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test10/resources/ducc.nodes Fri Mar 6 17:11:37 2015
@@ -0,0 +1,27 @@
+# -----------------------------------------------------------------------
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+# -----------------------------------------------------------------------
+
+agentn
+agentn-13
+agentn-14
+agentn-15
+agentn-16
+agentn-17
+import npA.nodes
+import npB.nodes
Added: uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test10/resources/ducc.users
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test10/resources/ducc.users?rev=1664680&view=auto
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test10/resources/ducc.users (added)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test10/resources/ducc.users Fri Mar 6 17:11:37 2015
@@ -0,0 +1,10 @@
+User user1 {
+ max_allotment.normal = 50
+ max_allotment.normal-npA = 17
+}
+
+User user2 {
+ max_allotment.normal = bob
+ max_allotment.fixed = 72
+
+}
Added: uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test10/resources/npA.nodes
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test10/resources/npA.nodes?rev=1664680&view=auto
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test10/resources/npA.nodes (added)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test10/resources/npA.nodes Fri Mar 6 17:11:37 2015
@@ -0,0 +1,25 @@
+# -----------------------------------------------------------------------
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+# -----------------------------------------------------------------------
+
+agentn-1
+agentn-2
+agentn-3
+agentn-4
+agentn-5
+import npC.nodes
Added: uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test10/resources/npB.nodes
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test10/resources/npB.nodes?rev=1664680&view=auto
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test10/resources/npB.nodes (added)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test10/resources/npB.nodes Fri Mar 6 17:11:37 2015
@@ -0,0 +1,25 @@
+# -----------------------------------------------------------------------
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+# -----------------------------------------------------------------------
+
+agentn-20
+agentn-21
+agentn-22
+agentn-23
+agentn-24
+import npE.nodes
Added: uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test10/resources/npC.nodes
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test10/resources/npC.nodes?rev=1664680&view=auto
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test10/resources/npC.nodes (added)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test10/resources/npC.nodes Fri Mar 6 17:11:37 2015
@@ -0,0 +1,24 @@
+# -----------------------------------------------------------------------
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+# -----------------------------------------------------------------------
+
+agentn-6
+agentn-7
+agentn-8
+agentn-9
+import npD.nodes
Added: uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test10/resources/npD.nodes
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test10/resources/npD.nodes?rev=1664680&view=auto
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test10/resources/npD.nodes (added)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test10/resources/npD.nodes Fri Mar 6 17:11:37 2015
@@ -0,0 +1,22 @@
+# -----------------------------------------------------------------------
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+# -----------------------------------------------------------------------
+
+agentn-10
+agentn-11
+agentn-12
Added: uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test10/resources/npE.nodes
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test10/resources/npE.nodes?rev=1664680&view=auto
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test10/resources/npE.nodes (added)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test10/resources/npE.nodes Fri Mar 6 17:11:37 2015
@@ -0,0 +1,22 @@
+# -----------------------------------------------------------------------
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+# -----------------------------------------------------------------------
+
+agentn-18
+agentn-19
+
Added: uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test11/resources/ducc.classes
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test11/resources/ducc.classes?rev=1664680&view=auto
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test11/resources/ducc.classes (added)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test11/resources/ducc.classes Fri Mar 6 17:11:37 2015
@@ -0,0 +1,91 @@
+# -----------------------------------------------------------------------
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+# -----------------------------------------------------------------------
+
+
+# The first nodepool is the default nodepool which contains defaults for *all* nodepools.
+# There need not be any subpools of global or even nodes. Any node not otherwise assigned
+# to a nodepool is given to --default-- when it checks in.
+
+# Specify 'default = true' in a fair-share class for job default
+# Specify 'default = true' in a non-fair-share class for reservation default
+# Specify the alternative debug class as 'debug = class'. No default debug, use
+# inheritance as shown below
+
+# Test: Everything correct and straighforward, 4 levels of nesting
+Nodepool --default-- { }
+Nodepool npA { nodefile npA.nodes ; parent --default-- }
+Nodepool npB { nodefile npB.nodes ; parent --default-- }
+Nodepool npC { nodefile npC.nodes ; parent npA }
+Nodepool npD { nodefile npD.nodes ; parent npC }
+Nodepool npE { nodefile npE.nodes ; parent npB }
+
+# Nnodepools may be defined with additional Nodepool statements. For example here we define
+# a nodpool as a subpool of the default:
+# Nodepool subpool1 { parent = --default-- }
+# Here we define a second 'top-level' nodepool with no parent, consisting of the nodes defined
+# in the file toplevel1.nodes.
+# Nodepool toplevel1 { nodefile = toplevel1.nodes }
+
+
+# --------------------- Fair share definitions ---------------
+# The 'fair-base' class is a template for other fair-share classes. Classes derived
+# from here inherit all its properties. fair-base is identified as a template because
+# it has the property 'abstract = true'
+#
+
+Class fair-base {
+ policy = FAIR_SHARE
+ nodepool = --default--
+ priority = 10
+ weight = 100
+ users = user1 user2, user3
+ abstract = true
+}
+
+# These classes are derived from fair-base, and override the 'weight' property. As well
+# class 'normal' is designated as the default FAIR_SHARE class
+Class normal fair-base { weight = 100; default = true }
+Class normal-npA fair-base { weight = 100; nodepool = npA }
+Class normal-npB fair-base { weight = 100; nodepool = npB; users user4, user5 user6 }
+Class normal-npC fair-base { weight = 100; nodepool = npC }
+Class normal-npD fair-base { weight = 100; nodepool = npD }
+Class normal-npE fair-base { weight = 100; nodepool = npE }
+
+# --------------------- Fixed share definitions ---------------
+Class fixed-base {
+ policy = FIXED_SHARE
+ nodepool = --default--
+ priority = 5
+ abstract = true
+ max-processes = 10
+}
+
+Class fixed fixed-base { default = true }
+Class JobDriver fixed-base { priority = 9 }
+
+# --------------------- Reserve definitions ---------------
+Class reserve-base {
+ policy = RESERVE
+ nodepool = --default--
+ priority = 1
+ abstract = true
+ max-machines = 10
+}
+
+Class reserve reserve-base { default = true }
Added: uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test11/resources/ducc.nodes
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test11/resources/ducc.nodes?rev=1664680&view=auto
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test11/resources/ducc.nodes (added)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test11/resources/ducc.nodes Fri Mar 6 17:11:37 2015
@@ -0,0 +1,27 @@
+# -----------------------------------------------------------------------
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+# -----------------------------------------------------------------------
+
+agentn
+agentn-13
+agentn-14
+agentn-15
+agentn-16
+agentn-17
+import npA.nodes
+import npB.nodes
Added: uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test11/resources/ducc.users
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test11/resources/ducc.users?rev=1664680&view=auto
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test11/resources/ducc.users (added)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test11/resources/ducc.users Fri Mar 6 17:11:37 2015
@@ -0,0 +1,10 @@
+User user1 {
+ max_allotment.normal = 50
+ max_allotment.normal-npA = 17
+}
+
+User user2 {
+ max_allotment.normal = 22
+ max_allotment.fixed = 72
+
+}
Added: uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test11/resources/npA.nodes
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test11/resources/npA.nodes?rev=1664680&view=auto
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test11/resources/npA.nodes (added)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test11/resources/npA.nodes Fri Mar 6 17:11:37 2015
@@ -0,0 +1,25 @@
+# -----------------------------------------------------------------------
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+# -----------------------------------------------------------------------
+
+agentn-1
+agentn-2
+agentn-3
+agentn-4
+agentn-5
+import npC.nodes
Added: uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test11/resources/npB.nodes
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test11/resources/npB.nodes?rev=1664680&view=auto
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test11/resources/npB.nodes (added)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test11/resources/npB.nodes Fri Mar 6 17:11:37 2015
@@ -0,0 +1,25 @@
+# -----------------------------------------------------------------------
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+# -----------------------------------------------------------------------
+
+agentn-20
+agentn-21
+agentn-22
+agentn-23
+agentn-24
+import npE.nodes
Added: uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test11/resources/npC.nodes
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test11/resources/npC.nodes?rev=1664680&view=auto
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test11/resources/npC.nodes (added)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test11/resources/npC.nodes Fri Mar 6 17:11:37 2015
@@ -0,0 +1,24 @@
+# -----------------------------------------------------------------------
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+# -----------------------------------------------------------------------
+
+agentn-6
+agentn-7
+agentn-8
+agentn-9
+import npD.nodes
Added: uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test11/resources/npD.nodes
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test11/resources/npD.nodes?rev=1664680&view=auto
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test11/resources/npD.nodes (added)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test11/resources/npD.nodes Fri Mar 6 17:11:37 2015
@@ -0,0 +1,22 @@
+# -----------------------------------------------------------------------
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+# -----------------------------------------------------------------------
+
+agentn-10
+agentn-11
+agentn-12
Added: uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test11/resources/npE.nodes
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test11/resources/npE.nodes?rev=1664680&view=auto
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test11/resources/npE.nodes (added)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test11/resources/npE.nodes Fri Mar 6 17:11:37 2015
@@ -0,0 +1,22 @@
+# -----------------------------------------------------------------------
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+# -----------------------------------------------------------------------
+
+agentn-18
+agentn-19
+
Added: uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test12/resources/ducc.classes
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test12/resources/ducc.classes?rev=1664680&view=auto
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test12/resources/ducc.classes (added)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test12/resources/ducc.classes Fri Mar 6 17:11:37 2015
@@ -0,0 +1,90 @@
+# -----------------------------------------------------------------------
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+# -----------------------------------------------------------------------
+
+
+# The first nodepool is the default nodepool which contains defaults for *all* nodepools.
+# There need not be any subpools of global or even nodes. Any node not otherwise assigned
+# to a nodepool is given to --default-- when it checks in.
+
+# Specify 'default = true' in a fair-share class for job default
+# Specify 'default = true' in a non-fair-share class for reservation default
+# Specify the alternative debug class as 'debug = class'. No default debug, use
+# inheritance as shown below
+
+# Test: Everything correct and straighforward, 4 levels of nesting
+Nodepool --default-- { }
+Nodepool npA { nodefile npA.nodes ; parent --default-- }
+Nodepool npB { nodefile npB.nodes ; parent --default-- }
+Nodepool npC { nodefile npC.nodes ; parent npA }
+Nodepool npD { nodefile npD.nodes ; parent npC }
+Nodepool npE { nodefile npE.nodes ; parent npB }
+
+# Nnodepools may be defined with additional Nodepool statements. For example here we define
+# a nodpool as a subpool of the default:
+# Nodepool subpool1 { parent = --default-- }
+# Here we define a second 'top-level' nodepool with no parent, consisting of the nodes defined
+# in the file toplevel1.nodes.
+# Nodepool toplevel1 { nodefile = toplevel1.nodes }
+
+
+# --------------------- Fair share definitions ---------------
+# The 'fair-base' class is a template for other fair-share classes. Classes derived
+# from here inherit all its properties. fair-base is identified as a template because
+# it has the property 'abstract = true'
+#
+
+Class fair-base {
+ policy = FAIR_SHARE
+ nodepool = --default--
+ priority = 10
+ weight = 100
+ abstract = true
+}
+
+# These classes are derived from fair-base, and override the 'weight' property. As well
+# class 'normal' is designated as the default FAIR_SHARE class
+Class normal fair-base { weight = 100; default = true }
+Class normal-npA fair-base { weight = 100; nodepool = npA }
+Class normal-npB fair-base { weight = 100; nodepool = npB }
+Class normal-npC fair-base { weight = 100; nodepool = npC }
+Class normal-npD fair-base { weight = 100; nodepool = npD }
+Class normal-npE fair-base { weight = 100; nodepool = npE }
+
+# --------------------- Fixed share definitions ---------------
+Class fixed-base {
+ policy = FIXED_SHARE
+ nodepool = --default--
+ priority = 5
+ abstract = true
+ max-processes = 10
+}
+
+Class fixed fixed-base { default = true}
+Class JobDriver fixed-base { priority = 9 }
+
+# --------------------- Reserve definitions ---------------
+Class reserve-base {
+ policy = RESERVE
+ nodepool = --default--
+ priority = 1
+ abstract = true
+ max-machines = 10
+}
+
+Class reserve reserve-base { default = true }
Added: uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test12/resources/ducc.nodes
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test12/resources/ducc.nodes?rev=1664680&view=auto
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test12/resources/ducc.nodes (added)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test12/resources/ducc.nodes Fri Mar 6 17:11:37 2015
@@ -0,0 +1,27 @@
+# -----------------------------------------------------------------------
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+# -----------------------------------------------------------------------
+
+agentn
+agentn-13
+agentn-14
+agentn-15
+agentn-16
+agentn-17
+import npA.nodes
+import npB.nodes
Added: uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test12/resources/ducc.users
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test12/resources/ducc.users?rev=1664680&view=auto
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test12/resources/ducc.users (added)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test12/resources/ducc.users Fri Mar 6 17:11:37 2015
@@ -0,0 +1,10 @@
+User user1 {
+ max_allotment.notaclass = 50
+ max_allotment.normal-npA = 17
+}
+
+User user2 {
+ max_allotment.normal = 200
+ max_allotment.fixed = 72
+
+}
Added: uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test12/resources/npA.nodes
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test12/resources/npA.nodes?rev=1664680&view=auto
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test12/resources/npA.nodes (added)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test12/resources/npA.nodes Fri Mar 6 17:11:37 2015
@@ -0,0 +1,25 @@
+# -----------------------------------------------------------------------
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+# -----------------------------------------------------------------------
+
+agentn-1
+agentn-2
+agentn-3
+agentn-4
+agentn-5
+import npC.nodes
Added: uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test12/resources/npB.nodes
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test12/resources/npB.nodes?rev=1664680&view=auto
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test12/resources/npB.nodes (added)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test12/resources/npB.nodes Fri Mar 6 17:11:37 2015
@@ -0,0 +1,25 @@
+# -----------------------------------------------------------------------
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+# -----------------------------------------------------------------------
+
+agentn-20
+agentn-21
+agentn-22
+agentn-23
+agentn-24
+import npE.nodes
Added: uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test12/resources/npC.nodes
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test12/resources/npC.nodes?rev=1664680&view=auto
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test12/resources/npC.nodes (added)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test12/resources/npC.nodes Fri Mar 6 17:11:37 2015
@@ -0,0 +1,24 @@
+# -----------------------------------------------------------------------
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+# -----------------------------------------------------------------------
+
+agentn-6
+agentn-7
+agentn-8
+agentn-9
+import npD.nodes
Added: uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test12/resources/npD.nodes
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test12/resources/npD.nodes?rev=1664680&view=auto
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test12/resources/npD.nodes (added)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test12/resources/npD.nodes Fri Mar 6 17:11:37 2015
@@ -0,0 +1,22 @@
+# -----------------------------------------------------------------------
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+# -----------------------------------------------------------------------
+
+agentn-10
+agentn-11
+agentn-12
Added: uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test12/resources/npE.nodes
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test12/resources/npE.nodes?rev=1664680&view=auto
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test12/resources/npE.nodes (added)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test12/resources/npE.nodes Fri Mar 6 17:11:37 2015
@@ -0,0 +1,22 @@
+# -----------------------------------------------------------------------
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+# -----------------------------------------------------------------------
+
+agentn-18
+agentn-19
+
Added: uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test2/resources/ducc.users
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test2/resources/ducc.users?rev=1664680&view=auto
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test2/resources/ducc.users (added)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test2/resources/ducc.users Fri Mar 6 17:11:37 2015
@@ -0,0 +1,10 @@
+User user1 {
+ max_allotment.normal = 50
+ max_allotment.normal-npA = 17
+}
+
+User user2 {
+ max_allotment.normal = 200
+ max_allotment.fixed = 72
+
+}
Added: uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test3/resources/ducc.users
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test3/resources/ducc.users?rev=1664680&view=auto
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test3/resources/ducc.users (added)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test3/resources/ducc.users Fri Mar 6 17:11:37 2015
@@ -0,0 +1,10 @@
+User user1 {
+ max_allotment.normal = 50
+ max_allotment.normal-npA = 17
+}
+
+User user2 {
+ max_allotment.normal = 200
+ max_allotment.fixed = 72
+
+}
Added: uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test4/resources/ducc.users
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test4/resources/ducc.users?rev=1664680&view=auto
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test4/resources/ducc.users (added)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test4/resources/ducc.users Fri Mar 6 17:11:37 2015
@@ -0,0 +1,10 @@
+User user1 {
+ max_allotment.normal = 50
+ max_allotment.normal-npA = 17
+}
+
+User user2 {
+ max_allotment.normal = 200
+ max_allotment.fixed = 72
+
+}
Added: uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test5/resources/ducc.users
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test5/resources/ducc.users?rev=1664680&view=auto
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test5/resources/ducc.users (added)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test5/resources/ducc.users Fri Mar 6 17:11:37 2015
@@ -0,0 +1,10 @@
+User user1 {
+ max_allotment.normal = 50
+ max_allotment.normal-npA = 17
+}
+
+User user2 {
+ max_allotment.normal = 200
+ max_allotment.fixed = 72
+
+}
Added: uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test6/resources/ducc.users
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test6/resources/ducc.users?rev=1664680&view=auto
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test6/resources/ducc.users (added)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test6/resources/ducc.users Fri Mar 6 17:11:37 2015
@@ -0,0 +1,10 @@
+User user1 {
+ max_allotment.normal = 50
+ max_allotment.normal-npA = 17
+}
+
+User user2 {
+ max_allotment.normal = 200
+ max_allotment.fixed = 72
+
+}
Added: uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test7/resources/ducc.users
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test7/resources/ducc.users?rev=1664680&view=auto
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test7/resources/ducc.users (added)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test7/resources/ducc.users Fri Mar 6 17:11:37 2015
@@ -0,0 +1,10 @@
+User user1 {
+ max_allotment.normal = 50
+ max_allotment.normal-npA = 17
+}
+
+User user2 {
+ max_allotment.normal = 200
+ max_allotment.fixed = 72
+
+}
Added: uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test8/resources/ducc.users
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test8/resources/ducc.users?rev=1664680&view=auto
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test8/resources/ducc.users (added)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-common/src/test/resources/node_configuration_data/test8/resources/ducc.users Fri Mar 6 17:11:37 2015
@@ -0,0 +1,10 @@
+User user1 {
+ max_allotment.normal = 50
+ max_allotment.normal-npA = 17
+}
+
+User user2 {
+ max_allotment.normal = 200
+ max_allotment.fixed = 72
+
+}