[openstack-dev] [Nova] Questions about instance actions' update and finish

Matt Riedemann mriedem at linux.vnet.ibm.com
Sun Jul 3 13:05:06 UTC 2016


On 7/3/2016 6:21 AM, Alex Xu wrote:
>
>
> 2016-07-02 2:32 GMT+08:00 Sean Dague <sean at dague.net
> <mailto:sean at dague.net>>:
>
>     On 06/30/2016 08:31 AM, Andrew Laski wrote:
>     >
>     >
>     > On Wed, Jun 29, 2016, at 11:11 PM, Matt Riedemann wrote:
>     >> On 6/29/2016 10:10 PM, Matt Riedemann wrote:
>     >>> On 6/29/2016 6:40 AM, Andrew Laski wrote:
>     >>>>
>     >>>>
>     >>>>
>     >>>> On Tue, Jun 28, 2016, at 09:27 PM, Zhenyu Zheng wrote:
>     >>>>> How about I sync updated_at and created_at in my patch, and leave the
>     >>>>> finish to the other BP, by this way, I can use updated_at for the
>     >>>>> timestamp filter I added and it don't need to change again once the
>     >>>>> finish BP is complete.
>     >>>>
>     >>>> Sounds good to me.
>     >>>>
>     >>>
>     >>> It's been a long day so my memory might be fried, but the options we
>     >>> talked about in the API meeting were:
>     >>>
>     >>> 1. Setting updated_at = created_at when the instance action record is
>     >>> created. Laski likes this, I'm not crazy about it, especially since we
>     >>> don't do that for anything else.
>     >
>     > I would actually like for us to do this generally. I have the same
>     > thinking as Ed does elsewhere in this thread, the creation of a record
>     > is an update of that record. So take my comments as applying to Nova
>     > overall and not just this issue.
>
>     Agree. Also it just simplifies a number of things. We should just start
>     doing this going forward, and probably put some online data migrations
>     in place next cycle to update all the old records. Once updated_at can't
>     be null, we can handle things like this a bit better.
>
>
> The marker should be a column with UniqueConstraint, the updated_at is
> not. But if we say the accuracy is ok, there will have problem with
> updated_at as None.

Yeah I thought about this later, we don't use a timestamp field as a 
marker for anything else, and as noted it's not a non-nullable unique 
field, plus it's mutable which worries me for a marker field (created_at 
wouldn't change, but updated_at could).

>
> Anyway, we already freeze... probably we can begin to fix the updated_at
> problem first.
>
>
>     >>> 2. Update the instance action's updated_at when instance action events
>     >>> are created. I like this since the instance action is like a parent
>     >>> resource and the event is the child, so when we create/modify an event
>     >>> we can consider it an update to the parent. Laski thought this might be
>     >>> weird UX given we don't expose instance action events in the REST API
>     >>> unless you're an admin. This is also probably not something we'd do for
>     >>> other related resources like server groups and server group members (but
>     >>> we don't page on those either right now).
>     >
>     > Right. My concern is just that the ordering of actions can change based
>     > on events happening which are not visible to the user. However thinking
>     > about it further we don't really allow multiple actions at once, except
>     > for a few special cases like delete, so this may not end up affecting
>     > any ordering as actions are mostly serial. I think this is a fine
>     > solution for the issue at hand. I just think #1 is a more general
>     > solution.
>     >
>     >>>
>     >>> 3. Order the results by updated_at,created_at so that if updated_at
>     >>> isn't set for older records, created_at will be used. I think we all
>     >>> agreed in the meeting to do this regardless of #1 or #2 above.
>
>     I kind of hate that as the order, because then the marker is going to
>     have to be really funny double timestamp, right?
>
>
> The marker only needs to fill with the unique value. There isn't any
> problem order with multiple column. Some time we need order with
> mulitple column for stable order when the first order column is
> without UniqueConstraint.
>
>
>
>     I guess that's the one thing I don't see in this patch is a functional
>     test that actually loads up instance actions and iterates through
>     demonstrating the pagination.
>
>             -Sean
>
>     --
>     Sean Dague
>     http://dague.net
>
>     __________________________________________________________________________
>     OpenStack Development Mailing List (not for usage questions)
>     Unsubscribe:
>     OpenStack-dev-request at lists.openstack.org?subject:unsubscribe
>     <http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe>
>     http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>
>
>
>
> __________________________________________________________________________
> OpenStack Development Mailing List (not for usage questions)
> Unsubscribe: OpenStack-dev-request at lists.openstack.org?subject:unsubscribe
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>


-- 

Thanks,

Matt Riedemann




More information about the OpenStack-dev mailing list