Issue #5908 has been updated by micah -.

Status changed from Accepted to Needs More Information

We have been discussing this in the [debian 
bug](http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=573551) to try and come 
up with a solution as the original one proposed isn't quite right.

The situation is that changes that were made in Debian Squeeze to update-rc.d 
to accommodate for dependency-based booting broke puppet's functionality to 
enable/disable services. 

As I noted in the Debian bug, the enable portion of the diff looks like this:

<pre>
    @@ -43,6 +43,6 @@ Puppet::Type.type(:service).provide :debian, :parent => 
:init do

       def enable
         update_rc "-f", @resource[:name], "remove"
    -    update_rc @resource[:name], "defaults"
    +    update_rc @resource[:name], "enable"
       end
     end
</pre>

This seems to throw errors if no symlinks exist for the service. 

It is called right after an 'update-rc.d remove' which seems like it breaks. 
Please see the debug bug for a transcript that shows this. The current proposed 
code change is insufficient for these reasons.

it seems that 'update-rc.d $foo enable' counteracts 'update-rc.d $foo disable'  
   properly, as long as you don't call "remove" at any point.

So, perhaps just removing the following line from before the 'enable' will work:

<pre>
         update_rc "-f", @resource[:name], "remove"
</pre>

There is still an outstanding question about how this affects systems that are 
upgraded from Lenny. Perhaps 'innserv' should be the correct way to handle 
this, but its not certain if this will be available on all systems.

There is a related discussion happening on the debian-devel list right now 
(<[email protected]>)

----------------------------------------
Bug #5908: Service Provider on Debian unable to disable services: now uses 
update-rc.d enable/disable
https://projects.puppetlabs.com/issues/5908

Author: Stig Sandbeck Mathisen
Status: Needs More Information
Priority: Urgent
Assignee: 
Category: service
Target version: 2.6.x
Affected Puppet version: 0.25.4
Keywords: provider, debian, service, update-rc.d
Branch: http://github.com/jamtur01/puppet/tree/tickets/2.6.x/5908


The debian provider of the service type now use update-rc.d "enable" and 
"disable", and lets "insserv" select which priorities to use for the symlinks.  
This is also true for non-upstart init scripts on Ubuntu.

The following commit, contributed by Martin F Krafft, can be merged to fix this 
issue:

Repo: git://git.debian.org/pkg-puppet/puppet.git

Commit: 83d88e218b5f8c940c4f2cc5ba33d3e976ed66bf

Gitweb: 
http://git.debian.org/?p=pkg-puppet/puppet.git;a=commit;h=83d88e218b5f8c940c4f2cc5ba33d3e976ed66bf




-- 
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