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

Re: [Condor-users] Condor Job Requirements

Here's a sample way to send condorsubmit fields through a
globus gram (gt2/pre WS GRAM) resource

globusrsl = (condorsubmit=(requirements 'Disk>5000'))

You can put any condor classad statement inside the condorsubmit=()

You should know, however, that a remote globus jobmanager-condor
also by default will append an ARCH requirement
to the condor classad it submits to the remote condor system.
That can't be overridden by globus rsl. If you have an
X86_64 gatekeeper and you want to run on
(ARCH=="INTEL" || ARCH=="X86_64") you have to actually hack
the condor.pm file that comes from globus to not append
the (ARCH=="X86_64") requirement to the job classad, because
the one you specify globusrsl won't override that.

Steve Timm

On Wed, 15 Apr 2009, Balamurali Ananthan wrote:

Thanks Rob,  that worked! I can change the job requirements this way, as
long as I am submitting a job using condor.  But when I submit a job
through the Globus GRAM, do you know how can I specify the requirements
in the job's .rsl file?


Robert Futrick wrote:

Hello Balamrali,

The condor_submit command automatically appends these extra
requirements, the assumption being that you want the job to run on
machine similar to the one you're currently submitting from. To change
this, put a bit more in your requirements expression that would
accurately describe your jobs' requirements. For example, you could use
the following expression:

Requirements = (OpSys=="LINUX") && (Arch =="INTEL" || Arch == "X86_64")
&& (Memory > 1) && (Disk > 1000)

To determine why your jobs are not executing, try running the "condor_q
-better-analyze" command. That should help diagnose which of the
individual requirements in the expression is keeping the jobs from
matching any slots.

I hope this helps. Good luck!


Balamurali Ananthan wrote:


All I have in my job command file is just this requirement:

Requirements = (OpSys=="LINUX")

But after I submit my job, when I see my job class ad using 'condor_q
-l' , I see this.

Requirements = ((OpSys == "LINUX")) && (Arch == "INTEL") && ((CkptArch
== Arch) || (CkptArch =?= UNDEFINED)) && ((CkptOpSys == OpSys) ||
(CkptOpSys =?= UNDEFINED)) && (Disk >= DiskUsage) && ((Memory * 1024) >=

 From where does all these extra requirements gets appended to my
original job requirement, that always gets my job being rejected because
of a "no match found"?


Steven C. Timm, Ph.D  (630) 840-8525
timm@xxxxxxxx  http://home.fnal.gov/~timm/
Fermilab Computing Division, Scientific Computing Facilities,
Grid Facilities Department, FermiGrid Services Group, Assistant Group Leader.