Hi, There are vm_states, task_states, and power_states for each VM. The use of them is complicated. Some states are confusing, and sometimes ambiguous. There also lacks a guideline to extend/add new state. This proposal aims to simplify things, explain and define precisely what they mean, and why we need them. A new user-friendly behavior of deleting a VM is also discussed.
A TL;DR summary: * power_state is the hypervisor state, loaded “bottom-up” from compute worker; * vm_state reflects the stable state based on API calls, matching user expectation, revised “top-down” within API implementation. * task_state reflects the transition state introduced by in-progress API calls. * “hard” delete of a VM should always succeed no matter what. * power_state and vm_state may conflict with each other, which needs to be resolved case-by-case. It's not a definite guide yet and is up for discussion. I'd like to thank vishy and comstud for the early input. comstud: the task_state is different from when you looked at it. It's a lot closer to what's in the current code. The full text is here and is editable by anyone like etherpad. https://docs.google.com/document/d/1nlKmYld3xxpTv6Xx0Iky6L46smbEqg7-SWPu_o6VJws/edit?pli=1 Thanks, Yun _______________________________________________ Mailing list: https://launchpad.net/~openstack Post to : openstack@lists.launchpad.net Unsubscribe : https://launchpad.net/~openstack More help : https://help.launchpad.net/ListHelp