A little background: I'm using puppet to manage the configurations of a
group of linux vservers running Ubuntu Lucid. Ubuntu has switched to
using upstart for their boot process; unfortunately there are some
peculiar interactions with vservers which causes openssh to hang during
upgrade, so I need to remove the upstart init script for openssh and
revert back to the sysvrc script instead. Since this needs to happen
before any openssh upgrade, I've tried putting the code that does this
into a class that will be run first, like this:

class disable_upstart_for_sshd {
  file {
    '/etc/init/ssh.conf':
      ensure => absent
  }
  exec {
    '/usr/sbin/update-rc.d ssh defaults':
      creates => '/etc/rc3.d/S20ssh'
  }    
}

stage { "pre": before => Stage[main] }
class {
  disable_upstart_for_sshd': stage => pre;
}

Now, if /etc/init/ssh.conf exists, puppet will correctly remove it and
the run will complete without error, but on the *next* and all
subsequent puppet runs I get a long dependency cycle error.

If /etc/init/ssh.conf does not exist, I get no errors (on multiple
runs).

If I remove the run stage code, I get no errors (on multiple runs).

There are no explicit references to /etc/init/ssh.conf in any other
modules (it's owned by the openssh-server package).

So, is this a bug?
-- 
Dan Urist
dur...@ucar.edu
303-497-2459

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To post to this group, send email to puppet-users@googlegroups.com.
To unsubscribe from this group, send email to 
puppet-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/puppet-users?hl=en.

Reply via email to