[openstack-dev] [nova][api] Is this a potential issue

yunhong jiang yunhong.jiang at linux.intel.com
Sat Nov 16 00:01:41 UTC 2013

On Fri, 2013-11-15 at 17:19 -0500, Andrew Laski wrote:
> On 11/15/13 at 07:30am, Dan Smith wrote:
> >> You're not missing anything.  But I think that's a bug, or at least an
> >> unexpected change in behaviour from how it used to work.  If you follow
> >> instance_update() in nova.db.sqlalchemy.api just the presence of
> >> expected_task_state triggers the check.  So we may need to find a way to
> >> pass that through with the save method.
> >
> >This came up recently. We decided that since we no longer have a kwargs
> >dictionary to test for the presence or absence of that flag, that we
> >would require setting it to a tuple, which is already supported for
> >allowing multiple state possibilities. So, if you pass
> >expected_task_state=(None,) then it will do the right thing.
> >
> >Make sense?
> Perfect.  I thought the old method was a bit counterintuitive and 
> started thinking this would be better after I sent the email earlier.

I checked and seems most usage of instance.save() with
expected_state=None assume an exception and need change. Can I assume
this rule apply to all?

If yes, would it be possible to create a special task_state as IDLE, to
distinguish it better? When no task on-going, the task_state will be
IDLE, instead of None.


More information about the OpenStack-dev mailing list