[Openstack] nova state machine simplification and clarification

Mark Washenberger mark.washenberger at rackspace.com
Fri May 18 14:20:40 UTC 2012


Hi Yun,

This proposal looks very good to me. I am glad you included in it the requirement that hard deletes can take place in any vm/task/power state. 

I however feel that a similar requirement exists for revert resize. It should be possible to issue a RevertResize command for any task_state (assuming that a resize is happening or has recently happened and is not yet confirmed). The code to support this capability doesn't exist yet, but I want to ask you: is it compatible with your proposal to allow RevertResize in any task state?

"Yun Mao" <yunmao at gmail.com> said:

> 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 at lists.launchpad.net
> Unsubscribe : https://launchpad.net/~openstack
> More help   : https://help.launchpad.net/ListHelp
> 






More information about the Openstack mailing list