Mailing List Archives
Authenticated access
|
|
|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Condor-users] Machine ad attributes in submit files
- Date: Tue, 01 Aug 2006 15:34:28 -0500
- From: Todd Tannenbaum <tannenba@xxxxxxxxxxx>
- Subject: Re: [Condor-users] Machine ad attributes in submit files
At 05:45 AM 8/1/2006, o c wrote:
Just wondering why machine ad attributes are only available in
execute, arguments and environment entries of a submit script
(manual section 2.5.6.1).
machine ad attributes could be useful in other submit entries too
(e.g., transfer_input_files).
Is there a reason why this is not possible?
For some attributes, it is impossible. For example, the "log" entry,
since Condor needs to write entries into the "log" (like a submit
event) before it has a match.
For other entries, the only issue is that condor_submit tries to be
helpful. For instance, condor_submit will check that all the files
specified w/ transfer_input_files actually exist before it submits
the job. It cannot do this if it is not able to resolve the filename
due to $$().
What are the common workarounds or am I the only one who needs to
transfer platform specific input files with jobs?
You are the only one. ;)
Seriously, you can work around this fairly easily since it is only a
condor_submit being "helpful" issue --- the rest of Condor is
perfectly happy with $$() appearing anywhere in the job
classad. For example, the following submit file works for me ---
the trick here is I am using the "+" operator to over-ride the
ClassAd entries that store the file transfer stuff:
universe = vanilla
environment = path=c:\winnt\system32
executable = printname.bat
log = printname.log
# specify some file that exists to make condor_submit happy...
transfer_input_files = foo
# and then overwrite it in the ClassAd with what we really want
+TransferInput = "foo.$$(arch)"
# specify some file that exists to make condor_submit happy...
output = printname.out
# and then overwrite it in the ClassAd with what we really want
+Out = "printname.out.$$(arch)"
queue 1
Maybe another work-around would be to just write your submit file as
you want, i.e. like
transfer_input_file = foo.$$(arch)
and just make a dummy "foo.$$(arch)" file (hopefully your filesystem
is happy with dollar sign and parenthesis characters in file names)
to keep condor_submit's checking happy.
Hope this helps,
Todd
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Todd Tannenbaum University of Wisconsin-Madison
Condor Project Research Department of Computer Sciences
tannenba@xxxxxxxxxxx 1210 W. Dayton St. Rm #4257
http://www.cs.wisc.edu/~tannenba Madison, WI 53706-1685
Phone: (608) 263-7132 FAX: (608) 262-9777