o.vo's returned by RPC calls are not backported

Bug #1609304 reported by Michal Dulko
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Cinder
Fix Released
Undecided
Michal Dulko

Bug Description

We're passing object version pin to CinderObjectSerializer in RPC clients (rpcapi), but not in RPC servers (manager). This means that objects returned from RPC calls aren't backported and old service can get a response it doesn't understand.

Please note that RPC server don't know what service called him, so we need to consider lowest common supported object version between *all kinds* of the Cinder services.

Tags: upgrades
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix proposed to cinder (master)

Related fix proposed to branch: master
Review: https://review.openstack.org/350533

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to cinder (master)

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

Changed in cinder:
milestone: none → newton-3
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix merged to cinder (master)

Reviewed: https://review.openstack.org/350533
Committed: https://git.openstack.org/cgit/openstack/cinder/commit/?id=0f1ea3cfda6a1a87522200f53e846726d0349e75
Submitter: Jenkins
Branch: master

commit 0f1ea3cfda6a1a87522200f53e846726d0349e75
Author: Michał Dulko <email address hidden>
Date: Tue Aug 2 16:42:45 2016 +0200

    Cleanup upgrade-related FIXME's

    We've had some code paths that were related to backward compatibility
    with Liberty services. As by definition we only support upgrades from
    X-1 to X release, we don't need them in Newton and this commit removes
    them.

    This could be cleaned up earlier, but it's no harm if we'll do it now.

    Related-Bug: 1609304

    Change-Id: Iaaaac5a27da6104f437db3dd906099c4324f47da

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to cinder (master)

Reviewed: https://review.openstack.org/350534
Committed: https://git.openstack.org/cgit/openstack/cinder/commit/?id=9e9b3ec7ea29a636f8847dc1022c37f0e442fc26
Submitter: Jenkins
Branch: master

commit 9e9b3ec7ea29a636f8847dc1022c37f0e442fc26
Author: Michał Dulko <email address hidden>
Date: Tue Aug 2 18:25:45 2016 +0200

    Pin RPC server's serializer to min obj version

    We're passing object version pin on CinderObjectSerializer
    initialization in RPC clients (rpcapis), but not in RPC servers
    (managers). This means that objects returned from RPC calls aren't
    backported and older service can get a response with an object version
    it doesn't understand. As on RPC server side we don't know who called
    us, we need to consider minimum object version among all the binaries,
    not only the one we're running.

    This commit implements that behavior.

    Closes-Bug: 1609304
    Change-Id: Ibc708eb6ca6d792bec0f38abb4e1b5f58488a414

Changed in cinder:
status: In Progress → Fix Released
Revision history for this message
Thierry Carrez (ttx) wrote : Fix included in openstack/cinder 9.0.0.0b3

This issue was fixed in the openstack/cinder 9.0.0.0b3 development milestone.

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.