简体   繁体   中英

Error while running Puppet Agent using class in node default

I am getting error while executing puppet script

on Puppet master site.pp file I wrote following code

node default {
  class t {
    package {'apache2':
      ensure => installed,
    }
  }
}

On Slave machine when i execute it using puppet agent --test , it throws the error:

Info: Using configured environment 'production'
Info: Retrieving pluginfacts
Info: Retrieving plugin
Info: Retrieving locales
Error: Could not retrieve catalog from remote server: Error 500 on SERVER: Server Error: Could not parse for environment production: Classes, definitions, and nodes may only appear at toplevel or inside other classes (file: /etc/puppet/code/environments/production/manifests/site.pp, line: 3, column: 1) on node slave.ec2.internal
Warning: Not using cache on failed catalog
Error: Could not retrieve catalog; skipping run

Can you please help me in this regard

Hi this is because you are not supposed to define classes inside site.pp

Have a module foo (as I prefer foo for examples instead of t ) defined like this:

#modules/foo/manifests/init.pp
class foo {
  package {'apache2':
      ensure => installed,
  }
}

and you have a node entry in your site.pp like this

# site.pp
node default {
  include 'foo'
}

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM