Remove DictCompat from EC2 objects

This changes over all occurrences of dictionary syntax on the
EC2InstanceMapping, EC2VolumeMapping, and EC2SnapshotMapping objects
to use object syntax.

Change-Id: I74eb3ba202c699c845745174716e2d5a11c21cb9
Partially-Implements: bp rm-object-dict-compat
This commit is contained in:
Ryan Rossiter 2016-01-11 17:07:15 +00:00
parent f1da349a4f
commit 83492d09e8
2 changed files with 9 additions and 15 deletions

View File

@ -19,10 +19,8 @@ from nova.objects import base
from nova.objects import fields
# TODO(berrange): Remove NovaObjectDictCompat
@base.NovaObjectRegistry.register
class EC2InstanceMapping(base.NovaPersistentObject, base.NovaObject,
base.NovaObjectDictCompat):
class EC2InstanceMapping(base.NovaPersistentObject, base.NovaObject):
# Version 1.0: Initial version
VERSION = '1.0'
@ -34,7 +32,7 @@ class EC2InstanceMapping(base.NovaPersistentObject, base.NovaObject,
@staticmethod
def _from_db_object(context, imap, db_imap):
for field in imap.fields:
imap[field] = db_imap[field]
setattr(imap, field, db_imap[field])
imap._context = context
imap.obj_reset_changes()
return imap
@ -60,10 +58,8 @@ class EC2InstanceMapping(base.NovaPersistentObject, base.NovaObject,
return cls._from_db_object(context, cls(), db_imap)
# TODO(berrange): Remove NovaObjectDictCompat
@base.NovaObjectRegistry.register
class EC2VolumeMapping(base.NovaPersistentObject, base.NovaObject,
base.NovaObjectDictCompat):
class EC2VolumeMapping(base.NovaPersistentObject, base.NovaObject):
# Version 1.0: Initial version
VERSION = '1.0'
@ -75,7 +71,7 @@ class EC2VolumeMapping(base.NovaPersistentObject, base.NovaObject,
@staticmethod
def _from_db_object(context, vmap, db_vmap):
for field in vmap.fields:
vmap[field] = db_vmap[field]
setattr(vmap, field, db_vmap[field])
vmap._context = context
vmap.obj_reset_changes()
return vmap
@ -101,10 +97,8 @@ class EC2VolumeMapping(base.NovaPersistentObject, base.NovaObject,
return cls._from_db_object(context, cls(context), db_vmap)
# TODO(berrange): Remove NovaObjectDictCompat
@base.NovaObjectRegistry.register
class EC2SnapshotMapping(base.NovaPersistentObject, base.NovaObject,
base.NovaObjectDictCompat):
class EC2SnapshotMapping(base.NovaPersistentObject, base.NovaObject):
# Version 1.0: Initial version
VERSION = '1.0'
@ -116,7 +110,7 @@ class EC2SnapshotMapping(base.NovaPersistentObject, base.NovaObject,
@staticmethod
def _from_db_object(context, smap, db_smap):
for field in smap.fields:
smap[field] = db_smap[field]
setattr(smap, field, db_smap[field])
smap._context = context
smap.obj_reset_changes()
return smap

View File

@ -34,7 +34,7 @@ class _TestEC2InstanceMapping(object):
@staticmethod
def _compare(test, db, obj):
for field, value in db.items():
test.assertEqual(db[field], obj[field])
test.assertEqual(db[field], getattr(obj, field))
def test_create(self):
imap = ec2_obj.EC2InstanceMapping(context=self.context)
@ -75,7 +75,7 @@ class _TestEC2VolumeMapping(object):
@staticmethod
def _compare(test, db, obj):
for field, value in db.items():
test.assertEqual(db[field], obj[field])
test.assertEqual(db[field], getattr(obj, field))
def test_create(self):
vmap = ec2_obj.EC2VolumeMapping(context=self.context)
@ -116,7 +116,7 @@ class _TestEC2SnapshotMapping(object):
@staticmethod
def _compare(test, db, obj):
for field, value in db.items():
test.assertEqual(db[field], obj[field])
test.assertEqual(db[field], getattr(obj, field))
def test_create(self):
smap = ec2_obj.EC2SnapshotMapping(context=self.context)