[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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

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 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