FYI, this is done here:
https://code.google.com/p/munki/source/detail?r=5a4a4f572e7f5b79538291156dfefa150d64fa1d
Internally, our Simian instance is running an enhancement supervisor
which detects Python crashes and uploads the traceback to our server.
This has already exposed a couple of bugs, one of which was fixed
here:
https://code.google.com/p/munki/source/detail?r=cc4ddcfb4df358ae7426f9464f90681ae202590e
I'll submit the supervisor changes to Munki soon...
- Justin
On Thu, Oct 18, 2012 at 11:25 AM, Anthony Lieuallen <
alie...@google.com> wrote:
> On Wednesday, October 17, 2012 5:48:02 PM UTC-4, Justin McWilliams wrote:
>>
>> I propose we:
>> 1) define and document exit codes as constants near the top of
>> managedsoftwareupdate.
>> and
>> 2) if preflight/postflight exit with non-zero, exit
>> managedsoftwareupdate with the same code (currently it's always -1,
>> which OS X sees as 255).
>
>
> Sounds very reasonable. I'd suggest defining:
>
> A) Currently known errors (no network, avoidable network like airplane wifi,
> etc.).
> B) Catch all unknown values (fatal, temporary, etc.).
> C) Reserved ranges that can be defined in the future, and are guaranteed to
> otherwise not be used until then.
>
> A and B would probably mean "ranges" of goodness and badness happening, much
> like HTTP has 2xx, 3xx, 4xx; you can get a high level of information from
> the most significant digit, and often more detail from the less significant
> ones, if you care.
>
> That way whatever interprets these values has the best chance of being able
> to.