Improve toubleshooting error output
There is one thing about puppet that constantly frustrates me, and I'd like to know if there's a better way to use puppet. I find, whenever there's an error of some kind, it's virtually impossible to figure out what caused the error. For example, I have a module that defines a bunch of virtual users and groups, and then some other module realizes a user. If you make an error (forget to realize a group that is required for a user that you realize) then the puppet agent running the virtual module throws errors about group nonexistence. There is nothing like a "stack trace" indicating that some other module was actually trying to realize a user. So the error message is misleading.
Is it possible to have puppet agent display the names and titles of resources applied? So if an error occurs, you know what caused it?