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

Re: [Condor-users] macro escape query

On Mar 4, 2008, at 9:42 AM, Smith, Ian wrote:

On Mar 3, 2008, at 11:43 AM, Smith, Ian wrote:

Just a quick question on everyones favourite subject, escaping/
quoting ;-(

I'm trying to get an evironment variable into the RSL for a job
using Condor-G
and if I try this with globusrun it works a treat:

&(executable=/usr/ngs/PCGAMESS)(arguments= -r -f -p -i $(HOME)/
bench11.inp -o /home/ngs0456/bench_output -ex /apps/pcgamess/7.x/ bin)
(jobType=mpi)(count = 8)(stdout=StdOut.txt)(stderr=StdErr.txt)

This will no doubt break wrongly because of the mail system but the
important bit is
$(HOME) which should expand as an environment variable on the remote

In my Condor-G job description file, I started with

arguments= -r -f -p -i $(HOME)/bench11.inp -o /home/ngs0456/
bench_output -ex /apps/pc-gamess/7.x/bin

and have tried seemingly every combination of backslashes and quotes
on the $(HOME) bit but I still can't
get the right effect.

Your best bet is to use globus_rsl to set the arguments:

globus_rsl = (arguments=-r -f -p -i $(HOME)/bench11.inp)

I tried this but Condor still seems to be evaluating $(HOME) as a (undefined) macro and
substituting a null string. If I look in the log file on the remote
host, part of this RSL requirements string is:

("arguments" = "-r" "-f" "-p" "-i" "/bench11.inp" "-o" "/ bench_output" "-ex" "/apps/pc-gamess/7.x/bin" )

Is there a way of quoting/escaping to prevent Condor doing macro

You can escape the $ like so:
globus_rsl = (arguments=-r -f -p -i $(DOLLAR)(HOME)/bench11.inp)

Thanks and regards,
Jaime Frey
UW-Madison Condor Team