How about defining resource states per plugin.
Standard states would be
UNKNOWN, STARTING, UP, STOPPING, DOWN, STOPPING_FOR_RESTART.
These states would be
1) Updated as per agent's observations,
2) Expected as per operation definitions.
Edges between these states could have characteristics which could be used for triggering further actions. For example:
UP -> DOWN => Unexpected down
STOPPING -> DOWN => Expected down
STOPPING_FOR_RESTART -> DOWN => Restart failed
In UI, the last edge (or last two states) would be used to determine what to display.
This might be an overkill, but I wanted to share the idea ;-)
Technically, it's two RFEs:
1) Resource states defined per plugin.
2) States treated as FSM states.
Created attachment 517448 [details]