On Jul 21, 2008, at 1:33 PM, Russell Jackson wrote:

> Luke Kanies wrote:
>> On Jul 18, 2008, at 4:55 PM, Russell Jackson wrote:
>>
>>> I've had a number of instances where simply doing a grep '${service-
>>> name}' winds up giving
>>> a false positive. Example:
>>>
>>> $ ps auxww | grep -v grep | grep acpid
>>> root        15  0.0  0.0     0    0 ?        S<   Jul11   0:00
>>> [kacpid]
>>>
>>> acpid isn't running, but the kacpid kernel thread makes puppet think
>>> it is; so, it keeps
>>> running service acpid stop on every run. Of course, to top it off,
>>> the centos4 init script
>>> always returns a zero exit status value.
>>>
>>> Suggested fix: use the pattern '\<${service-name}\>' instead.
>>>
>>> Can anyone think of a case where this wouldn't work as intended?
>>
>>
>> What does that regex do?  I'm not familiar enough with grep, I guess.
>>
>
> '\<' and '\>' match the empty string before and after, respectively,  
> a word. For example,
> '\<foo\>' will match 'foo' but not 'foobar' or 'afoo'

I dont think we can safely assume that all of the executables will be  
running with whitespace; matching on word boundaries would make more  
sense so that, for instance, we matched '/usr/bin/puppetd', not just  
'puppetd'.

-- 
Consistency requires you to be as ignorant today as you were a year
ago. -- Bernard Berenson
---------------------------------------------------------------------
Luke Kanies | http://reductivelabs.com | http://madstop.com


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Puppet Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/puppet-dev?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to