[openstack-dev] [Nova] State machines in Nova

Miles Gould mgould at redhat.com
Wed Jun 1 09:51:09 UTC 2016


On 31/05/16 21:03, Timofei Durakov wrote:
> there is blueprint[1] that was approved during Liberty and resubmitted
> to Newton(with spec[2]).
> The idea is to define state machines for operations as live-migration,
> resize, etc. and to deal with them operation states.

+1 to introducing an explicit state machine - IME they make complex 
logic much easier to reason about. However, think carefully about how 
you'll make changes to that state machine later. In Ironic, this is an 
ongoing problem: every time we change the state machine, we have to 
decide whether to lie to older clients (and if so, what lie to tell 
them), or whether to present them with the truth (and if so, how badly 
they'll break). AIUI this would be a much smaller problem if we'd 
considered this possibility carefully at the beginning.

Miles



More information about the OpenStack-dev mailing list