Hi,

If you have put you class in one big, you will get this error.

Every class must have its own pp file

modules/ssh/manisfests/init.pp (class ssh)
                                       install.pp (class ssh::init)
                                       config.pp (class ssh::config)

and so on

more info : http://docs.puppetlabs.com/puppet/2.7/reference/lang_namespaces.html

hth

Grts

Jo



On 01/16/2014 06:25 AM, Tim Dunphy wrote:
Hi All,


I'm writing to you today because I am attempting to follow along in the "Pro Puppet" book I am attempting the ssh module example from page 39.

I am getting the following error on the client when I try to implement it:

[root@beta:~] #puppet agent --test --server puppet.mydomain.com <http://puppet.mydomain.com>
info: Caching catalog for beta.mydomain.com <http://beta.mydomain.com>
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

This is the class I have defined on the puppet server:

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

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"],
     }
}

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

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


And this is the definition I tried to copy from the book:


class ssh::install {

  package { "openssh":

          ensure => present,

        }

    }


    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"],

            }

        }



class ssh::service {

  service { "sshd":

  ensure => running,

  hasstatus => true,

  hasrestart => true,

  enable => true,

  require => Class["ssh::config"],

  }

}


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



However I can't tell what the differences are that prevent the version I keyed in from working. I've even created a diff of the two files with the same order of files that you see above (mine first , theirs second)



[root@beta:~] #cat ssh_diff.txt

1,5c1,5

< class ssh::install {

<    package { "openssh":

<      ensure => present,

<    }

< }

---

> class ssh::install {

>      package { "openssh":

>             ensure => present,

>           }

>       }

7,17c7,17

< 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"],

<      }

< }

---

>       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"],

>               }

>            }

19,26d18

< class ssh::service {

<        service { "sshd":

<        ensure => running,

<        hasstatus => true,

<        hasrestart => true,

<        require => Class["ssh::config"],

<      }

< }

28c20,30

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

---

> class ssh::service {

>      service { "sshd":

>      ensure => running,

>      hasstatus => true,

>      hasrestart => true,

>      enable => true,

>      require => Class["ssh::config"],

>      }

>    }

>

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



Could I possibly borrow a fresh pair of eyeballs that might be able to recognize what's wrong?


Thanks




--
GPG me!!

gpg --keyserver pool.sks-keyservers.net <http://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/CAOZy0emB1akVKkMv8S5gmtBs_0fatv0E%3DApvh65KhU%3DFtzKxnA%40mail.gmail.com.
For more options, visit https://groups.google.com/groups/opt_out.


--
Johan De Wit

Open Source Consultant

Red Hat Certified Engineer         (805008667232363)
Puppet Certified Professional 2013 (PCP0000006)
_________________________________________________________
Open-Future Phone +32 (0)2/255 70 70
Zavelstraat 72              Fax       +32 (0)2/255 70 71
3071 KORTENBERG             Mobile    +32 (0)474/42 40 73
BELGIUM                     http://www.open-future.be
_________________________________________________________

Next Events:
Puppet Fundamentals Training | 
http://www.open-future.be/puppet-fundamentals-training-4-till-6th-february
Puppet Intruction Course | 
http://www.open-future.be/puppet-introduction-course-7th-february
Zabbix Certified Training | 
http://www.open-future.be/zabbix-certified-training-10-till-12th-february
Zabbix for Large Environments Training | 
http://www.open-future.be/zabbix-large-environments-training-13-till-14th-february
Subscribe to our newsletter | http://eepurl.com/BUG8H

--
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/52D796B9.6050403%40open-future.be.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to