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 <[email protected]>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 [email protected].
> 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 [email protected].
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