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

Re: [Condor-users] excluding machines based on regex negation



The - is negation in the arithmetic sense, not a logical NOT. Try

regexp("top.ucr", TARGET.GlueCEInfoContactString) == False

instead. 

    Craig

On Dec 17, 2009, at 2:52 PM, Ian Stokes-Rees wrote:

I'm having trouble constructing a classad to exclude sites based on a regular _expression_.  Google and reading over the Condor manual on classad syntax hasn't moved me in the right direction, and -better-analyze only suggests that I have my Requirements _expression_ messed up, but no hints on how to fix it:

PA error: NULL ptr in expr
PC error: can't Make Operation
PC error: can't Make Operation

My Requirements _expression_ (as output by -better-analyze):

( ( ( TARGET.GlueCEInfoContactString isnt undefined ) && ( TARGET.Rank > 10 ) &&
( TARGET.OSGMM_MemPerCPU >= ( 100 * 1000 ) ) &&
( TARGET.OSGMM_CENetworkOutbound == true ) &&
(  -regexp("top.ucr",TARGET.GlueCEInfoContactString) &&
 -regexp("sprace",TARGET.GlueCEInfoContactString) ) ) )

It is the last two lines in particular.  I want to state:

Requirements: ConditionA && ConditionB && ( not SiteMatchingRegexX && not SiteMatchingRegexY)

Most likely I misunderstand how to use the "regexp()" function, or am failing to use the unary NOT (-) properly.

Suggestions greatly appreciated.

Ian

--
Ian Stokes-Rees                            W: http://sbgrid.org
ijstokes@xxxxxxxxxxxxxxxxxxx               T: +1 617 432-5608 x75
SBGrid, Harvard Medical School             F: +1 617 432-5600

<ATT00001.txt>



--
Craig A. Struble, Ph.D. | 369 Cudahy Hall  | Marquette University
Associate Professor of Computer Science    | (414)288-3783
Director, Master of Bioinformatics Program | (414)288-5472 (fax)