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.