<This is email 1/2 inspired by PUP-4813>

Currently, if a catalog fails after some resources have been applied
but ouside of an individual resource, the error handling is something
like this:

* puppet agent with --detailed-exitcodes will return '1'. This
  abandons any actual detailed exit information

* The report will not be marked as failed. This is pretty obviously bad.

* No further resources are applied.

I've confirmed this will happen when a prefetch fails, and it looks as
though it will also occur when an eval_generate fails. There are
probably others.

For the prefetch case I'd like to see improved error handling baked
in, and will be sending out another email shortly. For the more
general case, I think the following two small changes are worthwhile:

* Add 3, 5, and 7 to --detailed-exitcodes. This will indicate that the
  entire catalog was aborted, but that resource changes or failures
  had also occured. It's important to note that this will ONLY
  introduce new exitcodes in the case where we'd currently return
  1. Any case that would return a 2, 4, or 6 would still do so.

* Make sure the report is marked as failed anytime the agent would
  exit with one of those exit codes

I feeel like these are pretty straightforward, but I figured there
would be lots of tools that make assumptions about our reporting and
wanted to get a bit of feedback before moving forward.

Thanks,
Branan Riley
Puppet Labs Software Engineer

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to puppet-dev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-dev/CADWDnr%3D_suvrcgCsr%2BhJVG71NiJCab1bs6jQSm76w4CFMmsxgA%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to