RequestSpec object is unconditionally converted to dict when sent to scheduler

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

Bug Description

Patch [1] was supposed to switch from sending raw dictionary to well-defined o.vo as request_spec parameter of create_volume scheduler RPC cast. Looks like one of the many rebases of the patch left unconditional conversion from o.vo to dict just before sending [1].

This prevents us from removing some compatibility code from manager, so it may be worth it to fix that before Newton release (if we happen to have RC2).

[1] https://review.openstack.org/#/c/246600/
[2] https://github.com/openstack/cinder/blob/8a4aecb155478e9493f4d36b080ccdf6be406eba/cinder/scheduler/rpcapi.py#L115

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/372486

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

Fix proposed to branch: stable/newton
Review: https://review.openstack.org/374875

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

Reviewed: https://review.openstack.org/372486
Committed: https://git.openstack.org/cgit/openstack/cinder/commit/?id=32bfddf841ec2b15f022af2bb0e7666af0bc4777
Submitter: Jenkins
Branch: master

commit 32bfddf841ec2b15f022af2bb0e7666af0bc4777
Author: Michał Dulko <email address hidden>
Date: Mon Sep 19 14:42:35 2016 +0200

    Fix request_spec conversion from o.vo to dict

    Turns out I7dae83667a1aca92c552fbfaa1e90c6558e293bf had a mistake and
    was unconditionally converting RequestSpec o.vo to dictionary just
    before sending it to the scheduler. This wasn't noticed as scheduler
    manager has compatibility shim in place that converts the dictionary
    back into o.vo when it's received.

    The problem this produces is that we cannot drop the compatibility
    shim from manager until 4.0 scheduler RPC API. This commit fixes that.

    Change-Id: I7beaaddcff079dfe7a0032e2cf2afa75a5e88522
    Closes-Bug: 1625170

Changed in cinder:
status: In Progress → Fix Released
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to cinder (stable/newton)

Reviewed: https://review.openstack.org/374875
Committed: https://git.openstack.org/cgit/openstack/cinder/commit/?id=42effa4ca6eefb5925146877f5ee92e5101943db
Submitter: Jenkins
Branch: stable/newton

commit 42effa4ca6eefb5925146877f5ee92e5101943db
Author: Michał Dulko <email address hidden>
Date: Mon Sep 19 14:42:35 2016 +0200

    Fix request_spec conversion from o.vo to dict

    Turns out I7dae83667a1aca92c552fbfaa1e90c6558e293bf had a mistake and
    was unconditionally converting RequestSpec o.vo to dictionary just
    before sending it to the scheduler. This wasn't noticed as scheduler
    manager has compatibility shim in place that converts the dictionary
    back into o.vo when it's received.

    The problem this produces is that we cannot drop the compatibility
    shim from manager until 4.0 scheduler RPC API. This commit fixes that.

    Change-Id: I7beaaddcff079dfe7a0032e2cf2afa75a5e88522
    Closes-Bug: 1625170
    (cherry picked from commit 32bfddf841ec2b15f022af2bb0e7666af0bc4777)

tags: added: in-stable-newton
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/cinder 9.0.0.0rc2

This issue was fixed in the openstack/cinder 9.0.0.0rc2 release candidate.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/cinder 9.0.0

This issue was fixed in the openstack/cinder 9.0.0 release.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/cinder 10.0.0.0b1

This issue was fixed in the openstack/cinder 10.0.0.0b1 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.