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. --jyh _______________________________________________ OpenStack-dev mailing list OpenStack-dev@lists.openstack.org http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev