[Top][All Lists]

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

Re: Incorrect compound class evaluation

From: Chip Seraphine
Subject: Re: Incorrect compound class evaluation
Date: Wed, 04 Jun 2003 15:02:39 -0500
User-agent: Mozilla/5.0 (X11; U; SunOS i86pc; en-US; rv:1.2.1) Gecko/20030121

Came across this message (from April) while researching my own problem. I'm also seeing what Jim saw (in 2.0.6). My workaround was to throw in some grouping symbols and do a DeMorgan on it:

foo.bar.bat.!x.!y   becomes    foo.bar.bat.!(x|y)

Logically equivalent, but the way on the right works (and the one on the left does not). It's a stinker of a problem, since contrived examples never show this bug-- but it occurs in my production script. It must be something subtle, like a memory overrun that only happens in a big parse-job or something wacky like that.

Jim Wight wrote:

Jim Wight writes:
I have a situation in which a compound class is not being evaluated


and part of copy is like this:



The copy does not take place in the second pass on a host that is not
"somehost" and for which the module does not define "someclass";
"always" is my version of "any", and is always True.

I see that my problem is similar to a recent one in help-cfengine with
the subject 'Double-negative class workaround', to which Mark replied:

  I find it difficult to believe that this doesn't work. Please
  check for misunderstandings, typos etc. Or provide a complete
  example that demonstrates the problem.

I too find it, and my own problem, difficult to believe as I have
multiple negatives at other places in my cfagent.conf (but not as part
of a second pass, mind you, which seems to be at the root of mine),
and they work OK.

In the case of my own problem, I have now discovered that by defining

  NotSomehost = ( !somehost )

and using


things start working again as expected.


Bug-cfengine mailing list

reply via email to

[Prev in Thread] Current Thread [Next in Thread]