I recently moved to Puppet Server from the Rack Puppet Master. After some amount of time, catalog compilation starts failing for all nodes:
$sudo puppet agent -t
Info: Retrieving pluginfacts
Info: Retrieving plugin
Info: Loading facts
Error: Could not retrieve catalog from remote server: Error 400 on SERVER: Invalid parameter ensure on File[/etc/ntp.conf] at /etc/puppet/environments/common/modules/ntp/manifests/config.pp:21 on node examplenode.doolli.com
Warning: Not using cache on failed catalog
Error: Could not retrieve catalog; skipping run
The manifest is from the Puppetlabs NTP module. Included for reference:
#
class ntp::config inherits ntp {
if $keys_enable {
$directory = dirname($keys_file)
file { $directory:
ensure => directory,
owner => 0,
group => 0,
mode => '0755',
recurse => true,
}
}
file { $config:
ensure => file,
owner => 0,
group => 0,
mode => '0644',
content => template($config_template),
}
}
The puppet server logs the following:
2015-10-31 19:56:02,933 ERROR [puppet-server] Puppet Invalid parameter ensure on File[/etc/ntp.conf] at /etc/puppet/environments/common/modules/ntp/manifests/config.pp:21 on node dev-build-2.doolli.com
2015-10-31 19:56:02,940 ERROR [puppet-server] Puppet Invalid parameter ensure on File[/etc/ntp.conf] at /etc/puppet/environments/common/modules/ntp/manifests/config.pp:21 on node dev-build-2.doolli.com
/usr/lib/ruby/vendor_ruby/puppet/resource.rb:502:in `validate_parameter'
/usr/lib/ruby/vendor_ruby/puppet/parser/resource.rb:271:in `validate'
org/jruby/RubyHash.java:1341:in `each'
/usr/lib/ruby/vendor_ruby/puppet/parser/resource.rb:270:in `validate'
/usr/lib/ruby/vendor_ruby/puppet/parser/resource.rb:110:in `finish'
/usr/lib/ruby/vendor_ruby/puppet/parser/compiler.rb:479:in `finish'
org/jruby/RubyArray.java:1613:in `each'
/usr/lib/ruby/vendor_ruby/puppet/parser/compiler.rb:467:in `finish'
/usr/lib/ruby/vendor_ruby/puppet/parser/compiler.rb:143:in `compile'
/usr/lib/ruby/vendor_ruby/puppet/util/profiler/around_profiler.rb:58:in `profile'
/usr/lib/ruby/vendor_ruby/puppet/util/profiler.rb:51:in `profile'
/usr/lib/ruby/vendor_ruby/puppet/parser/compiler.rb:143:in `compile'
/usr/lib/ruby/vendor_ruby/puppet/context.rb:64:in `override'
/usr/lib/ruby/vendor_ruby/puppet.rb:244:in `override'
/usr/lib/ruby/vendor_ruby/puppet/parser/compiler.rb:121:in `compile'
/usr/lib/ruby/vendor_ruby/puppet/parser/compiler.rb:34:in `compile'
/usr/lib/ruby/vendor_ruby/puppet/indirector/catalog/compiler.rb:95:in `compile'
/usr/lib/ruby/vendor_ruby/puppet/util/profiler/around_profiler.rb:58:in `profile'
/usr/lib/ruby/vendor_ruby/puppet/util/profiler.rb:51:in `profile'
/usr/lib/ruby/vendor_ruby/puppet/indirector/catalog/compiler.rb:93:in `compile'
/usr/lib/ruby/vendor_ruby/puppet/util.rb:161:in `benchmark'
/usr/share/puppetserver/puppet-server-release.jar!/META-INF/jruby.home/lib/ruby/1.9/benchmark.rb:295:in `realtime'
/usr/lib/ruby/vendor_ruby/puppet/util.rb:160:in `benchmark'
/usr/lib/ruby/vendor_ruby/puppet/indirector/catalog/compiler.rb:92:in `compile'
/usr/lib/ruby/vendor_ruby/puppet/indirector/catalog/compiler.rb:52:in `find'
/usr/lib/ruby/vendor_ruby/puppet/indirector/indirection.rb:201:in `find'
/usr/lib/ruby/vendor_ruby/puppet/network/http/api/v1.rb:105:in `do_find'
/usr/lib/ruby/vendor_ruby/puppet/network/http/api/v1.rb:50:in `call'
/usr/lib/ruby/vendor_ruby/puppet/context.rb:64:in `override'
/usr/lib/ruby/vendor_ruby/puppet.rb:244:in `override'
/usr/lib/ruby/vendor_ruby/puppet/network/http/api/v1.rb:49:in `call'
/usr/lib/ruby/vendor_ruby/puppet/network/http/route.rb:82:in `process'
org/jruby/RubyArray.java:1613:in `each'
/usr/lib/ruby/vendor_ruby/puppet/network/http/route.rb:81:in `process'
/usr/lib/ruby/vendor_ruby/puppet/network/http/handler.rb:63:in `process'
/usr/lib/ruby/vendor_ruby/puppet/util/profiler/around_profiler.rb:58:in `profile'
/usr/lib/ruby/vendor_ruby/puppet/util/profiler.rb:51:in `profile'
/usr/lib/ruby/vendor_ruby/puppet/network/http/handler.rb:61:in `process'
file:/usr/share/puppetserver/puppet-server-release.jar!/puppet-server-lib/puppet/server/master.rb:37:in `handleRequest'
Puppet$$Server$$Master_1300395245.gen:13:in `handleRequest'
request_handler_core.clj:295:in `invoke'
request_handler_core.clj:287:in `invoke'
request_handler_core.clj:271:in `invoke'
request_handler_service.clj:17:in `handle_request'
request_handler.clj:3:in `invoke'
request_handler.clj:3:in `invoke'
core.clj:626:in `invoke'
core.clj:2468:in `doInvoke'
master_core.clj:60:in `invoke'
ring.clj:22:in `invoke'
ring.clj:13:in `invoke'
comidi.clj:267:in `invoke'
ringutils.clj:76:in `invoke'
ringutils.clj:82:in `invoke'
ringutils.clj:125:in `invoke'
jetty9_core.clj:408:in `invoke'
If I restart the puppetserver service, catalogs will compile for some amount of time. Not quite sure what my next troubleshooting step should be.
I'm running puppetserver 1.1.2-1puppetlabs1 on Ubuntu 14.04.
-Doug