Resolve "Don't exit early when path doesn't exist"
I was feeling ambitious after picking up the original issue, and I decided to expand explicit error handling into a lot more areas. This MR adds more explicit checks including:
- does the given device path exist?
- what if the given path exists but has nothing on it?
- are the yum.conf and files readable/parsable?
- are the release files readable?
- does the RPM DB exist?
When some of these checks fail, the status value is set at some levels. When the highest-level device path can't be used, a string is appended to a new top-level errors list. Nothing in cloudigrade looks at that information currently, but this gives us more information to diagnose development issues, and we can update cloudigrade to do something with it if we find that useful.
Edited by Brad Smith