I would ignore everything past "Using cached catalog from environment 'ops'" in your debugging, as it's cached and therefore probably represents a previous state of the puppet master catalog.
Especially for testing, you can replace your puppet run with: service puppet stop && puppet agent --test --server puppetmaster.domain.ca --environment ops since --test means "--onetime --verbose --no-daemonize" and a couple of cache-disabling options as well, so you'll eliminated cache data, and simplify your troubleshooting. You don't really need the server or environment either, since you've got them defined in your puppet.conf, so really, you should be able to use: puppet agent --test Having said that, error 500 is a pretty broad error, which usually means "something went wrong". In this case, I suspect it's telling you the truth that it can't find the users::opsuser class-- which means either the puppet server can't read the file (selinux or file permissions, or what's happened to me too many times to ignore, a typo in the class definition.... :) ), or it's actually looking in the production environment. The only reason I can think of why it would be looking in the production environment would be if node.rb told it to. What happens when you manually run: /etc/puppetlabs/code/environments/node.rb node.domain.ca I suspect node.rb will spit out an "environment: production" yaml string, which is overriding the "environment ops" in your config / run statement. -- 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 puppet-users+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/84bee0ea-a73b-419d-9777-e4dec60ce928%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.