When deploying openvz images, we use a init-script to delete puppets ssl
directory and then run a curl that deletes the certificate from the puppet
server:
curl -k -X DELETE -H "Accept: pson"
"https://puppet.example.com:8140/production/certificate_status/client.examle.com".
After upgrading to puppet 3.5.1 this stopped working, I have read that I
need to revoke the certificate first and that works:
curl -k -X PUT -H "Content-Type: text/pson" --data
'{"desired_state":"revoked"}'
https://puppet.example.com:8140/production/certificate_status/client.example.com
I have verified that the certificate gets revoked on the server:
[root@puppet ~]# puppet cert list client.example.com
- "client.example.com" (SHA256)
A9:FD:2D:C3:E4:7C:84:12:9C:D0:B2:4C:F2:81:AB:A0:BE:9C:A4:40:A7:8E:4A:6A:D8:E0:A4:D7:10:A9:4B:E2
(certificate revoked)
After this, the documentation says that I should run the DELETE command
described above but that fails (using | sed for readability):
curl -k -X DELETE -H "Accept: pson"
https://puppet.example.com:8140/production/certificate_status/work-reduce203.trioptima.com
| sed 's/,/\n/g'
{"issue_kind":"RUNTIME_ERROR"
"message":"Server Error: undefined method `each' for nil:NilClass"
"stacktrace":["/usr/lib/ruby/site_ruby/1.8/puppet/network/http/route.rb:72:in
`process'"
"/usr/lib/ruby/site_ruby/1.8/puppet/network/http/handler.rb:63:in `process'"
"/usr/lib/ruby/site_ruby/1.8/puppet/util/profiler/none.rb:6:in `profile'"
"/usr/lib/ruby/site_ruby/1.8/puppet/util/profiler.rb:43:in `profile'"
"/usr/lib/ruby/site_ruby/1.8/puppet/network/http/handler.rb:61:in `process'"
"/usr/lib/ruby/site_ruby/1.8/puppet/network/http/webrick/rest.rb:31:in
`service'"
"/usr/lib/ruby/1.8/webrick/httpserver.rb:104:in `service'"
"/usr/lib/ruby/1.8/webrick/httpserver.rb:65:in `run'"
"/usr/lib/ruby/site_ruby/1.8/puppet/network/http/webrick.rb:36:in `listen'"
"/usr/lib/ruby/1.8/webrick/server.rb:173:in `call'"
"/usr/lib/ruby/1.8/webrick/server.rb:173:in `start_thread'"
"/usr/lib/ruby/1.8/webrick/server.rb:162:in `start'"
"/usr/lib/ruby/1.8/webrick/server.rb:162:in `start_thread'"
"/usr/lib/ruby/1.8/webrick/server.rb:95:in `start'"
"/usr/lib/ruby/1.8/webrick/server.rb:92:in `each'"
"/usr/lib/ruby/1.8/webrick/server.rb:92:in `start'"
"/usr/lib/ruby/1.8/webrick/server.rb:23:in `start'"
"/usr/lib/ruby/1.8/webrick/server.rb:82:in `start'"
"/usr/lib/ruby/site_ruby/1.8/puppet/network/http/webrick.rb:30:in `listen'"
"/usr/lib/ruby/site_ruby/1.8/puppet/network/http/webrick.rb:29:in
`initialize'"
"/usr/lib/ruby/site_ruby/1.8/puppet/network/http/webrick.rb:29:in `new'"
"/usr/lib/ruby/site_ruby/1.8/puppet/network/http/webrick.rb:29:in `listen'"
"/usr/lib/ruby/site_ruby/1.8/puppet/network/server.rb:27:in `start'"
"/usr/lib/ruby/site_ruby/1.8/puppet/daemon.rb:139:in `start'"
"/usr/lib/ruby/site_ruby/1.8/puppet/application/master.rb:284:in
`start_webrick_master'"
"/usr/lib/ruby/site_ruby/1.8/puppet/application/master.rb:200:in `main'"
"/usr/lib/ruby/site_ruby/1.8/puppet/application/master.rb:160:in
`run_command'"
"/usr/lib/ruby/site_ruby/1.8/puppet/application.rb:372:in `run'"
"/usr/lib/ruby/site_ruby/1.8/puppet/application.rb:479:in `plugin_hook'"
"/usr/lib/ruby/site_ruby/1.8/puppet/application.rb:372:in `run'"
"/usr/lib/ruby/site_ruby/1.8/puppet/util.rb:479:in `exit_on_fail'"
"/usr/lib/ruby/site_ruby/1.8/puppet/application.rb:372:in `run'"
"/usr/lib/ruby/site_ruby/1.8/puppet/context.rb:51:in `override'"
"/usr/lib/ruby/site_ruby/1.8/puppet.rb:233:in `override'"
"/usr/lib/ruby/site_ruby/1.8/puppet/application.rb:362:in `run'"
"/usr/lib/ruby/site_ruby/1.8/puppet/util/command_line.rb:137:in `run'"
"/usr/lib/ruby/site_ruby/1.8/puppet/util/command_line.rb:91:in `execute'"
"/usr/bin/puppet:4"]}
Running the puppet master in debug:
[root@puppet ~]# puppet master --no-daemonize --debug --verbose
[...]
Notice: Starting Puppet master version 3.5.1
[...]
Debug: Routes Registered:
Debug: Route /^\/v2\.0/
Debug: Route /.*/
Debug: Evaluating match for Route /^\/v2\.0/
Debug: Did not match path
("/production/certificate_status/client.example.com")
Debug: Evaluating match for Route /.*/
Error: Server Error: undefined method `each' for nil:NilClass
Any hints?
--
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 [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/puppet-users/9d8aef00-8855-4190-a32d-3ae897217c22%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.