Author: justi9
Date: 2010-07-13 14:15:09 -0400 (Tue, 13 Jul 2010)
New Revision: 4110
Modified:
mgmt/newdata/cumin/python/cumin/grid/submission.py
Log:
Add a universe dropdown
Modified: mgmt/newdata/cumin/python/cumin/grid/submission.py
===================================================================
--- mgmt/newdata/cumin/python/cumin/grid/submission.py 2010-07-13 18:01:13 UTC (rev 4109)
+++ mgmt/newdata/cumin/python/cumin/grid/submission.py 2010-07-13 18:15:09 UTC (rev 4110)
@@ -83,11 +83,11 @@
executable,
arguments=None,
requirements=None,
+ universe=None,
iwd=None,
stdin=None,
stdout=None,
- stderr=None,
- universe=5):
+ stderr=None):
# XXX
# user_name = invoc.user.name
user_name = "gridmonkey"
@@ -145,6 +145,9 @@
"this submission will run"
self.add_field(self.requirements)
+ self.universe = self.UniverseField(app, "universe")
+ self.add_extra_field(self.universe)
+
self.directory = self.WorkingDirectoryField(app, "directory")
self.directory.input.size = 50
self.directory.help = "Run the process in this directory"
@@ -184,6 +187,7 @@
stdin = self.stdin.get(session)
stdout = self.stdout.get(session)
stderr = self.stderr.get(session)
+ universe = self.universe.get(session)
tokens = shlex.split(command)
@@ -199,8 +203,8 @@
iwd=directory,
stdin=stdin,
stdout=stdout,
- stderr=stderr)
- # universe=universe) # XXX
+ stderr=stderr,
+ universe=universe)
self.task.exit_with_redirect(session)
@@ -239,6 +243,37 @@
def render_title(self, session):
return "Requirements"
+ class UniverseField(ScalarField):
+ def __init__(self, app, name):
+ super(SubmissionAddForm.UniverseField, self).__init__ \
+ (app, name, None)
+
+ self.param = IntegerParameter(app, "param")
+ self.add_parameter(self.param)
+
+ self.input = self.UniverseOptions(app, "input", self.param)
+ self.add_child(self.input)
+
+ class UniverseOptions(OptionInputSet):
+ def get_items(self, session):
+ return ((None, "[Default]"),
+ (5, "VANILLA"),
+ (7, "SCHEDULER"),
+ (9, "GRID"),
+ (10, "JAVA"),
+ (11, "PARALLEL"),
+ (12, "LOCAL"),
+ (13, "VM"))
+
+ def render_title(self, session):
+ return "Universe"
+
+ def render_item_value(self, session, item):
+ return item[0]
+
+ def render_item_content(self, session, item):
+ return item[1]
+
class WorkingDirectoryField(StringField):
def render_title(self, session):
return "Working directory"