Conductor returns new instance objects to older clients in list operations
Bug #1254902 reported by
Dan Smith
This bug affects 2 people
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Compute (nova) |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
Conductor will return new Instance objects to older clients when they do actions on the InstanceList object. This is because we only consider the version of their InstanceList object, and happily fill it with objects newer than they can handle.
tags: | added: unified-objects |
Changed in nova: | |
milestone: | none → icehouse-2 |
Changed in nova: | |
status: | Fix Committed → Fix Released |
Changed in nova: | |
milestone: | icehouse-2 → 2014.1 |
To post a comment you must log in.
Reviewed: https:/ /review. openstack. org/58398 /git.openstack. org/cgit/ openstack/ nova/commit/ ?id=ff221c6cc61 f7b98b62462ab4f 0e0e1cf691a9a8
Committed: https:/
Submitter: Jenkins
Branch: master
commit ff221c6cc61f7b9 8b62462ab4f0e0e 1cf691a9a8
Author: Dan Smith <email address hidden>
Date: Mon Nov 25 14:48:26 2013 -0800
Require List objects to be able to backlevel their contents
Right now, a client declares its supported version of a given object get_by_ foo(), they are
automatically in the remoted calls it makes to conductor. However,
in the case of things like InstanceList.
reporting the version of their InstanceList object, not their
Instance object. Conductor fills a version-matching InstanceList
object with brand new Instance objects, which the client, of course,
barfs on.
There may be a better way to handle this going forward, but for now,
stop the bleeding by requiring a version bump to the corresponding
List object whenever the object type it contains takes a version
bump. This adds a test to validate that all the objects registered
have a suitable mapping for the current version in the tree.
Since this actually caused a breakage in the Instance object
recently, this also bumps the InstanceList version so that
conductors running this commit (or later) will properly send
version 1.9 Instance objects to Havana clients and version 1.10+
to newer ones.
Change-Id: I2668dead4784fb d0411d1b6372a9a 8006eeb2e84
Related-Bug: #1258256
Closes-Bug: #1254902