Merge "Add missing 'obj_make_compatible' in RequestSpec object"

This commit is contained in:
Zuul 2017-11-16 19:33:42 +00:00 committed by Gerrit Code Review
commit 2a406af1b0

View File

@ -12,6 +12,7 @@
# License for the specific language governing permissions and limitations
# under the License.
from oslo_utils import versionutils
from oslo_versionedobjects import fields
from cinder import objects
@ -88,6 +89,17 @@ class RequestSpec(base.CinderObject, base.CinderObjectDictCompat,
return spec_obj
def obj_make_compatible(self, primitive, target_version):
"""Make an object representation compatible with target version."""
super(RequestSpec, self).obj_make_compatible(primitive, target_version)
target_version = versionutils.convert_version_to_tuple(target_version)
added_fields = (((1, 1), ('group_id', 'group_backend')),
((1, 2), ('resource_backend')))
for version, remove_fields in added_fields:
if target_version < version:
for obj_field in remove_fields:
primitive.pop(obj_field, None)
@base.CinderObjectRegistry.register
class VolumeProperties(base.CinderObject, base.CinderObjectDictCompat):