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

Re: [Condor-users] Machine ad attributes in submit files

Great stuff, I've just tested this and it works perfectly.
Thank you,

O. C.

Todd Tannenbaum <tannenba@xxxxxxxxxxx> wrote:
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

Condor-users mailing list
To unsubscribe, send a message to condor-users-request@xxxxxxxxxxx with a
subject: Unsubscribe
You can also unsubscribe by visiting

The archives can be found at either

Try the all-new Yahoo! Mail . "The New Version is radically easier to use" ? The Wall Street Journal