Serializer reports wrong supported version

Bug #1475356 reported by Dan Smith
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenStack Compute (nova)
Fix Released
High
Matt Riedemann
Kilo
Fix Released
High
Matt Riedemann
oslo.versionedobjects
Fix Released
High
Dan Smith

Bug Description

The VersionedObjectSerializer is what calls object_backport in our indirection_api if we encounter an unsupported version. In order for this to work properly, we need to report the top-level object version that we're trying to deserialize, not the one we actually encountered. We depend on the conductor's object relationship mappings to guide us to a fully-supported object tree.

Currently, the serializer is reporting the object that failed to deserialize, not the top.

Revision history for this message
Davanum Srinivas (DIMS) (dims-v) wrote :
Changed in oslo.versionedobjects:
status: New → Fix Committed
Changed in oslo.versionedobjects:
milestone: none → 0.6.0
status: Fix Committed → Fix Released
Matt Riedemann (mriedem)
Changed in oslo.versionedobjects:
importance: Undecided → High
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to nova (master)

Fix proposed to branch: master
Review: https://review.openstack.org/205683

Changed in nova:
assignee: nobody → Matt Riedemann (mriedem)
status: New → In Progress
Matt Riedemann (mriedem)
Changed in nova:
importance: Undecided → High
tags: added: kilo-backport-potential unified-objects
Revision history for this message
Matt Riedemann (mriedem) wrote :

This is needed in nova stable/kilo for grenade partial n-cpu to work for this:

https://review.openstack.org/#/c/198730/

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to nova (stable/kilo)

Fix proposed to branch: stable/kilo
Review: https://review.openstack.org/205686

Matt Riedemann (mriedem)
Changed in oslo.versionedobjects:
assignee: nobody → Dan Smith (danms)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to nova (master)

Reviewed: https://review.openstack.org/205683
Committed: https://git.openstack.org/cgit/openstack/nova/commit/?id=7c0e2238eb003ac0c620f4b63fa92baa6675e724
Submitter: Jenkins
Branch: master

commit 7c0e2238eb003ac0c620f4b63fa92baa6675e724
Author: Dan Smith <email address hidden>
Date: Fri Jul 24 12:14:00 2015 -0700

    Fix serializer supported version reporting in object_backport

    The serializer needs to report the version of the toplevel object
    that we were trying to deserialize when we encountered the incompatible
    version. We depend on the implementor of the indirection_api to use
    the object relationship mappings to return to us a fully-supported
    object tree based on the version at the top.

    This patch fixes the serializer to report the toplevel version instead
    of the one that caused the fault.

    Change-Id: I7ac03717e17cd7229abfeef6d9c7d9d8ec9be27a
    Closes-Bug: #1475356

Changed in nova:
status: In Progress → Fix Committed
Thierry Carrez (ttx)
Changed in nova:
milestone: none → liberty-2
status: Fix Committed → Fix Released
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to nova (stable/kilo)

Reviewed: https://review.openstack.org/205686
Committed: https://git.openstack.org/cgit/openstack/nova/commit/?id=cb2a8fbb13975d9a3fd0c953a93f7e2088570a02
Submitter: Jenkins
Branch: stable/kilo

commit cb2a8fbb13975d9a3fd0c953a93f7e2088570a02
Author: Dan Smith <email address hidden>
Date: Fri Jul 24 12:14:00 2015 -0700

    Fix serializer supported version reporting in object_backport

    The serializer needs to report the version of the toplevel object
    that we were trying to deserialize when we encountered the incompatible
    version. We depend on the implementor of the indirection_api to use
    the object relationship mappings to return to us a fully-supported
    object tree based on the version at the top.

    This patch fixes the serializer to report the toplevel version instead
    of the one that caused the fault.

    Conflicts:
            nova/objects/base.py
            nova/tests/unit/objects/test_objects.py

    NOTE(mriedem): The conflicts are due to the NovaObjectRegistry not
    existing in Kilo.

    Change-Id: I7ac03717e17cd7229abfeef6d9c7d9d8ec9be27a
    Closes-Bug: #1475356
    (cherry picked from commit 7c0e2238eb003ac0c620f4b63fa92baa6675e724)

Thierry Carrez (ttx)
Changed in nova:
milestone: liberty-2 → 12.0.0
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.