Hello !

I'm trying to implement a Nagios solution based on David Schmitt's
Complete Config. But I the following error when running puppetd -t -
v :

notice: Starting catalog run
err: //Node[monitoring]/nagios::target/Nagios::Host[]/File[/conf.d/
_host.cfg]/ensure: change from absent to present failed: Could not set
present on ensure: No such file or directory - /conf.d/
_host.cfg.puppettmp at /etc/puppet/modules/nagios/manifests/init.pp:40
notice: Finished catalog run in 3.91 seconds

As far as I understand, the problem comes from :

  define host($ip= $fqdn, $short_alias = $fqdn) {
    @@file {
      "${nagios_cfgdir}/conf.d/${name}_host.cfg":
        ensure => present,
        content => template( "nagios/host.erb" ),
        mode => 644,
        owner => root,
        group => root,
  tag => 'nagios',
    }
  }

When this definition is run, it seems that ${nagios_cfgdir} and $
{name} are undefined. I am probably missing something quite simple,
but I cant put my finger on it ... Any help ?



My Nagios class is as follow :

class nagios {
  $nagios_cfgdir = '/etc/nagios3'

  include apache

  package {
    nagios3 :
      alias => 'nagios',
      ensure => latest;
    [ 'nagios3-common', 'nagios-plugins-basic' ]:
       ensure => installed,
       before => Package['nagios'];
  }
  service {
    'nagios3':
      alias => 'nagios',
      ensure => running,
      hasstatus => true,
      hasrestart => true,
  }
  file {
    "$nagios_cfgdir/htpasswd.users":
      content => "admin:QqtpoTN5OGzmA",
      mode => 0640,
      owner => root,
      group => www-data,
  }

  File <<| tag == 'nagios' |>>

  define host($ip= $fqdn, $short_alias = $fqdn) {
    @@file {
      "${nagios_cfgdir}/conf.d/${name}_host.cfg":
        ensure => present,
        content => template( "nagios/host.erb" ),
        mode => 644,
        owner => root,
        group => root,
  tag => 'nagios',
    }
  }

  class target {
    debug ( "$fqdn has $nagios_parent as parent" )
    nagios::host { $fqdn: }
  }
}

And my nodes.pp :

node 'monitoring' inherits basenode {
  include apache

  include nagios

  $nagios_parent = "generic-host"
  include nagios::target
}




Thanks a lot !

    Guillaume

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To post to this group, send email to puppet-us...@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