In the document above I've summarized the changes I plan to make to reorganize VM status checks in the Engine.
The second page of the documents contains the list of the new functions and the statuses they will check.
On the first page I've collected all the places I'm planning to change - class name, method name and line number. "New method" column is the new check that will be put in this place.
Changing to new functions will often add/remove a state or two, that's why I'll be VERY pleased to see your comments. I've sorted the classes by topic, so it will be easy to look on those you're familiar with.
Ask yourself questions:
1. If Up state is required, what about PoweringUp, PoweringDown, RebootInProgress?
2. If Up state is required, what about WaitingForLaunch? Paused?
3. What about migration?
4. What about hibernation?
5. If Down state is required, should it allow also ImageLocked and ImageIllegal?
6. If Down state is required, what about Suspended?
Thank you in advance.
Shmuel