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

Re: [Condor-users] How to check NEGOTIATOR_PRE_JOB_RANK?



On Wed, Jun 27, 2007 at 09:07:53AM -0500, Dan Bradley wrote:
> 
> This expression is internal to the negotiator, so it is not visible as 
> part of the machine ClassAd.  The best way I can think of to check the 
> expression would be to evaluate it in a condor_status query.  Example:
> 
> condor_status -f "%g\n" '-Memory'

This works (although it's lacking a key to distinguish between the machines).

> >NEGOTIATOR_PRE_JOB_RANK = - Memory
> yes
> >NEGOTIATOR_PRE_JOB_RANK = ( -1 * Memory )
> yes
> >NEGOTIATOR_PRE_JOB_RANK = ( -1 * MEMORY )
> yes
> >NEGOTIATOR_PRE_JOB_RANK = - $(Memory)
> No, because $(...) is a macro substitution operator, so $(Memory) says 
> to insert the value of a configuration macro named Memory when the 
> negotiator is reading the configuration file.  Instead, you want to 
> refer to the Memory attribute of the machine ClassAd (equivalently 
> TARGET.Memory).

I'm still a bit confused 8( but to summarize:
- if I refer to ClassAd attributes, I don't have to write $(...)
- upper/lower case doesn't matter
- TARGET may be used as a prefix to distinguish between machine and
	job classAds - MY.Memory would refer to the job Requirement.
If MY.Memory would be defined, Memory without a prefix would return 
that value? Then only ( - TARGET.Memory ) would be ultimately safe :-(

Steffen