Author: eallen
Date: 2010-08-02 15:47:09 -0400 (Mon, 02 Aug 2010)
New Revision: 4184
Modified:
mgmt/newdata/cumin/python/cumin/grid/submission.py
Log:
Use base path of dag file as Iwd for DAG submissions
Modified: mgmt/newdata/cumin/python/cumin/grid/submission.py
===================================================================
--- mgmt/newdata/cumin/python/cumin/grid/submission.py 2010-08-02 19:46:17 UTC (rev 4183)
+++ mgmt/newdata/cumin/python/cumin/grid/submission.py 2010-08-02 19:47:09 UTC (rev 4184)
@@ -2,6 +2,7 @@
import shlex
from rosemary.sqlquery import *
+from parsley.stringex import partition, rpartition
from cumin.objectframe import *
from cumin.objectselector import *
@@ -522,17 +523,13 @@
self.dag.help = "DAG descriptor file location"
self.add_field(self.dag)
- self.requirements = Attribute(app, "requirements")
- self.requirements.default = "1=?=1"
- self.add_attribute(self.requirements)
+ self.requirements = self.RequirementsField(app, "requirements")
+ self.requirements.input.columns = 50
+ self.requirements.required = True
+ self.requirements.help = "Attributes controlling where and when " + \
+ "this submission will run"
+ self.add_field(self.requirements)
- #self.requirements = self.RequirementsField(app, "requirements")
- #self.requirements.input.columns = 50
- #self.requirements.required = True
- #self.requirements.help = "Attributes controlling where and when " + \
- # "this submission will run"
- #self.add_field(self.requirements)
-
self.universe = Attribute(app, "universe")
self.universe.default = self.task.UNIVERSE["SCHEDULER"]
self.add_attribute(self.universe)
@@ -540,8 +537,7 @@
self.attributes_ = self.DagAttributes(app, "attributes")
self.add_attribute(self.attributes_)
- self.directory = Attribute(app, "directory")
- self.directory.default = "/tmp"
+ self.directory = self.Iwd(app, "directory")
self.add_attribute(self.directory)
self.stdin = Attribute(app, "stdin")
@@ -550,44 +546,44 @@
self.command = self.DagCommand(app, "command")
self.add_attribute(self.command)
- self.stdout = Attribute(app, "stdout")
- self.add_attribute(self.stdout)
+ self.stdout = self.StdoutField(app, "stdout")
+ self.stdout.input.size = 50
+ self.stdout.help = "Send process output to this file"
+ self.stdout.input.param.default = "diamond.dag.lib.out"
+ self.add_extra_field(self.stdout)
- #self.stdout = self.StdoutField(app, "stdout")
- #self.stdout.input.size = 50
- #self.stdout.help = "Send process output to this file"
- #self.stdout.input.param.default = "diamond.dag.lib.out"
- #self.add_extra_field(self.stdout)
+ self.stderr = self.StderrField(app, "stderr")
+ self.stderr.input.size = 50
+ self.stderr.help = "Send error output to this file"
+ self.stderr.input.param.default = "diamond.dag.lib.err"
+ self.add_extra_field(self.stderr)
- self.stderr = Attribute(app, "stderr")
- self.add_attribute(self.stderr)
+ self.usrlog = self.UsrLogField(app, "usrlog")
+ self.usrlog.input.size = 50
+ self.usrlog.help = "User Log File"
+ self.usrlog.input.param.default = "diamond.dag.dagman.log"
+ self.add_extra_field(self.usrlog)
- #self.stderr = self.StderrField(app, "stderr")
- #self.stderr.input.size = 50
- #self.stderr.help = "Send error output to this file"
- #self.stderr.input.param.default = "diamond.dag.lib.err"
- #self.add_extra_field(self.stderr)
+ self.condor = self.CondorVersionField(app, "cv")
+ self.condor.required = True
+ self.condor.input.size = 50
+ self.condor.help = "Condor Version"
+ self.condor.input.param.default = "'7.4.3' 'Mar'
'16' '2010' 'BuildID:' 'RH-7.4.3-0.5.el5'
'PRE-RELEASE'"
+ self.add_extra_field(self.condor)
- self.usrlog = Attribute(app, "usrlog")
- self.add_attribute(self.usrlog)
-
- #self.usrlog = self.UsrLogField(app, "usrlog")
- #self.usrlog.input.size = 50
- #self.usrlog.help = "User Log File"
- #self.usrlog.input.param.default = "diamond.dag.dagman.log"
- #self.add_extra_field(self.usrlog)
-
- #self.condor = self.CondorVersionField(app, "cv")
- #self.condor.required = True
- #self.condor.input.size = 50
- #self.condor.help = "Condor Version"
- #self.condor.input.param.default = "'7.4.3' 'Mar'
'16' '2010' 'BuildID:' 'RH-7.4.3-0.5.el5'
'PRE-RELEASE'"
- #self.add_extra_field(self.condor)
-
class DagField(StringField):
def render_title(self, session):
return "DAG"
+ def get_base_path(self, session):
+ dag = self.get(session)
+ base, sep, file = rpartition(dag, "/")
+ return base
+
+ class Iwd(Attribute):
+ def get(self, session):
+ return self.widget.dag.get_base_path(session)
+
class CondorVersionField(StringField):
def render_title(self, session):
return "Condor Version"
@@ -595,9 +591,6 @@
class DagCommand(Attribute):
def get(self, session):
dag = self.widget.dag.get(session)
- return "/usr/bin/condor_dagman %s" % dag
-
- dag = self.widget.dag.get(session)
condor = self.widget.condor.get(session)
args = """-f -l . -Debug 3 -Lockfile diamond.dag.lock
-AutoRescue 1
-DoRescueFrom 0 -Dag diamond.dag -CsdVersion $CondorVersion:' %s '
%s"""
@@ -607,13 +600,11 @@
class DagAttributes(Attribute):
def get(self, session):
- return ""
ads = list()
ads.append("getenv=True")
ads.append("remove_kill_sig=SIGUSR1")
- ads.append("on_exit_remove=( ExitSignal =?= 11 || (ExitCode =!= \
- UNDEFINED && ExitCode>=0 && ExitCode <=
2))")
+ ads.append("on_exit_remove=( ExitSignal =?= 11 || (ExitCode =!=
UNDEFINED && ExitCode>=0 && ExitCode <= 2))")
ads.append("environment=_CONDOR_DAGMAN_LOG=diamond.dag.dagman.out;_CONDOR_MAX_DAGMAN_LOG=0")
return "\n".join(ads)
Show replies by date