我开始使用puppet管理许多服务器,问题是每当我尝试使用类时,新的遗物例如:
node 'mynode' {
     class {'newrelic::server::linux':
       newrelic_license_key => '***',
      }
 }
它失败,并返回以下错误:
Error: Could not retrieve catalog from remote server: Error 400 on SERVER: Puppet::Parser::AST::Resource failed with error ArgumentError: Could not find declared class newrelic::server::linux at /etc/puppet/manifests/site.pp:3 on node mynode
我已经安装fsalum-newrelic在主服务器上,使用文件,软件包,服务等时一切正常.我做错了什么?
该目录编译器会寻找类newrelic::server::linux在newrelic/manifests/server/linux.pp相对于你的模块路径中每个目录.(注意:newrelic,不fsalum-newrelic.)确保你确实安装了模块,使得这样的文件存在于你的模块路径中,并确保它可以被puppetmaster进程读取.
另请注意,"puppetmaster进程可读"不仅仅意味着文件本身的所有权和权限.它还涉及该文件路径中所有目录的所有权和权限,以及可能的其他形式的访问控制,例如ACL和SELinux conext和策略.