Hey guys,

OK, thanks! So I solved the type-o with the one ':' in the file definition
and separated the classes out into 4 different files:

showing init.pp

class ssh {  include ssh::install, ssh::config, ssh::service }


showing config.pp

class ssh::config {
           file { "/etc/ssh/sshd_config":
                 ensure = > present,
                 owner => 'root',
                 group => 'root',
                 mode => 0600,
                 source => "puppet:///modules/ssh/sshd_config",
                 require => Class["ssh::install"],
                 notify => Class["ssh::service"],
              }


showing install.pp

class ssh::install {
     package { "openssh":
            ensure => present,
          }
      }


And finally  showing service.pp

class ssh::service {
     service { "sshd":
     ensure => running,
     hasstatus => true,
     hasrestart => true,
     enable => true,
     require => Class["ssh::config"],
     }
   }
           }


They manifests are all located in the following directory with this
ownership and permissions:

root@puppet:/etc/puppet/modules/ssh/manifests] #ls -l
/etc/puppet/modules/ssh/manifests/
total 16
-rw-r--r-- 1 puppet puppet 395 Jan 16 10:00 config.pp
-rw-r--r-- 1 puppet puppet  63 Jan 16 09:59 init.pp
-rw-r--r-- 1 puppet puppet 104 Jan 16 10:00 install.pp
-rw-r--r-- 1 puppet puppet 191 Jan 16 10:01 service.pp

But now when I run the puppet command I get the following error saying that
puppet can't find the 'ssh class':


[root@beta:~] #puppet agent --test --server puppet.mydomain.com
err: Could not retrieve catalog from remote server: Error 400 on SERVER:
Could not find class ssh::install for beta.jokefire.com on node
beta.mydomain.com
warning: Not using cache on failed catalog
err: Could not retrieve catalog; skipping run

This is how my node definitions look:

node 'base' {
     include  bash, sudo, puppet, ca
}

node 'webserver' inherits 'base' {
     include   web
}

node 'beta.mydomain.com' inherits 'webserver'  {
     include mysql, cassandra, mongo, memcached, proftpd, ssh
}

Any ideas why this error is now occurring?

Thanks
Tim


On Thu, Jan 16, 2014 at 12:55 AM, Andrea Cappelli <a.cappe...@gmail.com>wrote:

> Il 16/01/2014 06:25, Tim Dunphy ha scritto:
>
>> Hi All,
>>
>> [....]
>>
>>
>> err: Failed to apply catalog: Could not find dependency
>> Class[Ssh:install] for File[/etc/ssh/sshd_config] at
>> /etc/puppet/modules/ssh/manifests/init.pp:16
>> [...]
>>
>>
>> class ssh::config {
>>     file { "/etc/ssh/sshd_config":
>>       ensure => present,
>>       owner => 'root',
>>       group => 'root',
>>       mode => 0600,
>>       source => "puppet:///modules/ssh/sshd_config",
>>       require => Class["ssh:install"],
>>       notify => Class["ssh::service"],
>>      }
>> }
>>
>>
> Hi,
> I suppose you have to use require => Class["ssh::install"] instead of
> require => Class["ssh:install"] (double ::)
>
> HTH
>
> --
> Andrea Cappelli
>
>
> --
> You received this message because you are subscribed to the Google Groups
> "Puppet Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to puppet-users+unsubscr...@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/
> msgid/puppet-users/52D77454.1020906%40gmail.com.
>
> For more options, visit https://groups.google.com/groups/opt_out.
>



-- 
GPG me!!

gpg --keyserver pool.sks-keyservers.net --recv-keys F186197B

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to puppet-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/CAOZy0emD5cmm8FzBYz1QmERX6%3DxdadsGRRfzzjCgsm2etJ4-eg%40mail.gmail.com.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to