Russell Jackson <[EMAIL PROTECTED]> writes:
> Daniel Pittman wrote:
>> Russell Jackson <[EMAIL PROTECTED]> writes:
>>
>>> 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?
>>
>> Yes: service {"ntp:"}, which runs ntpd; try: '\<${service_name}d?\>'
>>
>> (Also, on Debian, service {"puppet":} which runs puppetd.)
>
> Yes, but the init scripts actually work for those ;-).
>
> I'm not sure what the best solution is, but it doesn't seem like the
> default behavior should rely on partial string matches to work around
> the fact that the service name doesn't match the process name.
I strongly suggest the amended version above: match the service name
with or without a trailing d, only, but otherwise indistinguishable from
your code.
Regards,
Daniel
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---