puppetlabs-puppetdb
puppetlabs-puppetdb copied to clipboard
Manifest should validate the passed parameters
I did something stupid:
class { 'puppetdb':
disable_ssl => true,
listen_port => 'localhost',
listen_address => '8000'
}
Of course, 'localhost' isn't a valid port identifier and I don't have any devices called '8000'. Since I messed up, I got this error from PuppetDB:
2013-11-28 13:11:18,959 ERROR [main] [puppetlabs.utils] Uncaught exception
java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Number
at com.puppetlabs.jetty$plaintext_connector.invoke(jetty.clj:61)
at com.puppetlabs.jetty$create_server.invoke(jetty.clj:70)
at ring.adapter.jetty$run_jetty.invoke(jetty.clj:79)
at com.puppetlabs.jetty$run_jetty$fn__4565.invoke(jetty.clj:96)
at clojure.core$with_redefs_fn.invoke(core.clj:6751)
at com.puppetlabs.jetty$run_jetty.invoke(jetty.clj:95)
at com.puppetlabs.puppetdb.cli.services$_main$fn__12093.invoke(services.clj:512)
at clojure.core$binding_conveyor_fn$fn__4107.invoke(core.clj:1836)
at clojure.lang.AFn.call(AFn.java:18)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1146)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:679)
2013-11-28 13:11:18,963 INFO [Thread-4] [cli.services] Shutdown request received; puppetdb exiting.
Which could have been avoided if puppet threw an error since I passed a string as a port number. :smile:
I had this exact same problem, thank you for helping me hunt it down.