New top-level package: wrench

This tiny package provides simple way for any part of Juju to check if a "wrench should be dropped in the works" at some part of Juju's execution. It checks $datadir/wrench for files which signal that something should break, performing some error checking and logging.

The idea is that judicious calls to wrench.IsEnabled can be permanently left in the code to aid manual and CI testing.


I don't think so. For this to fail the wrench file has to be there (the os.Stat call worked), so someone is trying to use the feature, but the file couldn't be read. I'd say that's worth being logged at error.