We feel like we've got a pretty good mapping to the Status->State but the Status->Health is not as clear. Are there any general guidelines for Health of SoftwareInventory objects?
If installing a firmware image fails, we will set State to Disabled. Should we set the Health to Critical? If someone uploads an invalid image, we will also set State to Disabled. Should we set the Health to Warning?
This is an area that is still an open one for discussion across the entire model. We've only provided guidance on what "Health" values to use, with the important piece being that the Health of an object/resource does NOT include the health of components that have their own Status (which is where HealthRollup comes into play).
In general the thinking is that "Critical" means the device/object isn't functional, while "Warning" means it's still functional but with some issues or degraded performance (still "needs attention"). This was trying to follow the basic Green/Yellow/Red status bubble style.
In my opinion, both of the conditions you list seem to be "critical" - as the result is that the resource is broken, non-functional, requires attention. Perhaps the difference (of either condition) would be what that failure means to the customer - does that take the device (using that FW) out of service? If so, then I'd say that's "Critical". But if the device will continue running - effectively discarding/ignoring the failed FW update - maybe that's "Warning" in both cases?
I'd like to hear more opinions, as this is something we'd like to give more guidance on.