Add missing 'obj_make_compatible' in RequestSpec object
RequestSpec is converted to OVO, thus need to add the 'obj_make_compatible' to support backward compatibility. Change-Id: Ifbb5248e3ad5bad4b8fb6957156540cdf97babde
This commit is contained in:
parent
1491af0f95
commit
945a2754a9
|
@ -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):
|
||||
|
|
Loading…
Reference in New Issue