Hi Nan, The /etc/nslcd.conf file is declared in a separate class called 'nss':
if ($osclass == 'rhel') and ($operatingsystemrelease =~ /^6/) { # Push out nslcd.conf file{'/etc/nslcd.conf': tag => ['weekday','name_service'], owner => 'root', group => 'root', mode => '644', ensure => present, content => template('nslcd_conf.erb'), } } (the host in question is running RHEL 6.0 - there's a similar 'osclass' and 'operatingsystemrelease' clause around the nslcd service definition.) I realise that the config. for the new host I'm working on doesn't include the 'nss' class so that would explain why the error appears in the first place (thanks for helping me track that down). But I still don't have a grasp on why it's intermittent... Toby On May 20, 1:05 am, Nan Liu <n...@puppetlabs.com> wrote: > On Thu, May 19, 2011 at 7:23 AM, tobyriddell <toby.ridd...@gmail.com> wrote: > > Hi all, > > > I've got a bit of a strange one here. I'm seeing intermittent errors > > for missing resource dependencies. I'm building up a Puppet config. > > for a new server, making changes gradually and running the puppet > > agent multiple times by hand to apply the changes. The behaviour I see > > is that the errors suddenly appear when I make an apparently unrelated > > change. > > > Just to be clear: I have no argument with the fact that my Puppet > > config. has problems in it (clearly dependencies must be present), > > it's just that I'd expect the errors to be present the entire time > > rather than intermittent. > > > I've got 'filetimeout = 0' set in puppet.conf on the master (and for > > good measure it's set on the client too). The behaviour persists > > across puppet master restarts and multiple client runs, and it seems > > to 'latch' - the errors will occur persistently for tens of runs, and > > then disappear for tens of runs. > > > I was running Puppet 2.6.2 when the problem first appeared. I've > > upgraded both master and client to 2.6.8 and the behaviour persists. > > > This is the resource definition that is raising the errors: > > > service { 'nslcd': tag => ['weekday','services'], > > enable => true, > > ensure => running, > > subscribe => [ File['/etc/nslcd.conf'], File['/ > > etc/krb5.conf'] ], > > } > > > (error for the above is "err: Could not run Puppet configuration > > client: Could not find dependency File[/etc/nslcd.conf] for > > Service[nslcd] at /home/puppet/etc/development/modules/services/ > > manifests/init.pp:105" - the client does not have nslcd installed, and > > hence /etc/nslcd.conf is indeed missing) > > Where is the file resource /etc/nslcd.conf declared in the manifests? > Any conditionals controlling that file resource? How is the class > including /etc/nslcd.conf declared? Are you using tags to apply the > manifests (or when you are running puppet agent)? > > Thanks, > > Nan -- 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.