expose discovery boot interface errors

- improved error messages on failure
- simplify fact extraction

TBH: this whole code needs to be refactored.
its just a temp var, TBH: this code needs to live in discovery imho, when importing a new discovery facts we should auto collect this info and update the host record.