Issue #7165 has been updated by John Florian.

Nigel Kersten wrote:
> I'm looking for more information on service providers where we want this 
> behavior, as I'm pretty sure we're not going to implement this for every 
> provider.

I don't see how this behavior would be bad for any service provider.  
Where/how/why is it beneficial to ever start a service, update config files for 
that service, then restart that service a few seconds later?  (Or many minutes 
later for those services that cannot start/stop quickly.)

This ticket is over a year old and there appears to be no forward progress on 
this issue, which is causing me great grief in trying to use puppet for my 
needs.  I'm afraid I'm going to have start seriously looking at alternatives to 
puppet and discarding a heavy investment.

In one scenario, I'm trying to use puppet to configure bridging firewalls with 
VLAN support and to do so in the ideal modular way means puppet is needlessly 
bouncing several services, which then causes further problems downstream while 
waiting for switch ports to converge, clients behind those firewalls getting 
confused, etc.  In short, this undesirable behavior is making puppet look very 
much like the wrong way to automate system configuration.
----------------------------------------
Bug #7165: If services hasn’t started yet, where possible update the file first 
and then start the service.
https://projects.puppetlabs.com/issues/7165#change-79021

Author: John Florian
Status: Needs More Information
Priority: Normal
Assignee: eric sorenson
Category: service
Target version: 
Affected Puppet version: 0.25.5
Keywords: 
Branch: 


Given the following conditions:

1. service 'S' is currently disabled/stopped
1. config file 'F' for service 'S' is currently in state 'A'
1. puppet class 'C' calls for 'S' to be enabled/running and 'F' to be in state 
'B'

When puppet runs, the following currently occurs:
<pre>
notice: //C/File[F]/content: content changed '{md5}-A' to '{md5}-B'
info: //C/File[F]: Scheduling refresh of Service[S]
notice: //C/Service[S]/ensure: ensure changed 'stopped' to 'running'
notice: //C/Service[S]: Triggering 'refresh' from 1 dependencies
</pre>

Thus, puppet sees the service is to be running and makes it so.  Then it 
realizes that a refresh is needed and so restarts the service.  The restart is 
unnecessary in this case.  Depending on the particular service, this could be 
quite undesirable.  Puppet should be able to recognize this case and simply 
start the service just once.



-- 
You have received this notification because you have either subscribed to it, 
or are involved in it.
To change your notification preferences, please click here: 
http://projects.puppetlabs.com/my/account

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Bugs" 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-bugs?hl=en.

Reply via email to