Begin the transition to an explicit object registry
In oslo.versionedobjects, the registry is opt-in instead of implicit. This patch sets the stage for moving to that by defining a no-op registry with a compatible register method so that we can go ahead and decorate the object classes and then move the registry underneath them. Related to blueprint use-oslo-objects Change-Id: Iddc68a2d8a9b103621bc60a7426fe495edf80aad
This commit is contained in:
@@ -20,6 +20,7 @@ from nova.objects import fields
|
|||||||
|
|
||||||
|
|
||||||
# TODO(berrange): Remove NovaObjectDictCompat
|
# TODO(berrange): Remove NovaObjectDictCompat
|
||||||
|
@base.NovaObjectRegistry.register
|
||||||
class Agent(base.NovaPersistentObject, base.NovaObject,
|
class Agent(base.NovaPersistentObject, base.NovaObject,
|
||||||
base.NovaObjectDictCompat):
|
base.NovaObjectDictCompat):
|
||||||
VERSION = '1.0'
|
VERSION = '1.0'
|
||||||
@@ -70,6 +71,7 @@ class Agent(base.NovaPersistentObject, base.NovaObject,
|
|||||||
self.obj_reset_changes()
|
self.obj_reset_changes()
|
||||||
|
|
||||||
|
|
||||||
|
@base.NovaObjectRegistry.register
|
||||||
class AgentList(base.ObjectListBase, base.NovaObject):
|
class AgentList(base.ObjectListBase, base.NovaObject):
|
||||||
VERSION = '1.0'
|
VERSION = '1.0'
|
||||||
|
|
||||||
|
|||||||
@@ -21,6 +21,7 @@ from nova.objects import fields
|
|||||||
|
|
||||||
|
|
||||||
# TODO(berrange): Remove NovaObjectDictCompat
|
# TODO(berrange): Remove NovaObjectDictCompat
|
||||||
|
@base.NovaObjectRegistry.register
|
||||||
class Aggregate(base.NovaPersistentObject, base.NovaObject,
|
class Aggregate(base.NovaPersistentObject, base.NovaObject,
|
||||||
base.NovaObjectDictCompat):
|
base.NovaObjectDictCompat):
|
||||||
# Version 1.0: Initial version
|
# Version 1.0: Initial version
|
||||||
@@ -150,6 +151,7 @@ class Aggregate(base.NovaPersistentObject, base.NovaObject,
|
|||||||
return self.metadata.get('availability_zone', None)
|
return self.metadata.get('availability_zone', None)
|
||||||
|
|
||||||
|
|
||||||
|
@base.NovaObjectRegistry.register
|
||||||
class AggregateList(base.ObjectListBase, base.NovaObject):
|
class AggregateList(base.ObjectListBase, base.NovaObject):
|
||||||
# Version 1.0: Initial version
|
# Version 1.0: Initial version
|
||||||
# Version 1.1: Added key argument to get_by_host()
|
# Version 1.1: Added key argument to get_by_host()
|
||||||
|
|||||||
@@ -16,6 +16,7 @@ from nova.objects import fields
|
|||||||
|
|
||||||
|
|
||||||
# TODO(berrange): Remove NovaObjectDictCompat
|
# TODO(berrange): Remove NovaObjectDictCompat
|
||||||
|
@base.NovaObjectRegistry.register
|
||||||
class BandwidthUsage(base.NovaPersistentObject, base.NovaObject,
|
class BandwidthUsage(base.NovaPersistentObject, base.NovaObject,
|
||||||
base.NovaObjectDictCompat):
|
base.NovaObjectDictCompat):
|
||||||
# Version 1.0: Initial version
|
# Version 1.0: Initial version
|
||||||
@@ -65,6 +66,7 @@ class BandwidthUsage(base.NovaPersistentObject, base.NovaObject,
|
|||||||
self._from_db_object(self._context, self, db_bw_usage)
|
self._from_db_object(self._context, self, db_bw_usage)
|
||||||
|
|
||||||
|
|
||||||
|
@base.NovaObjectRegistry.register
|
||||||
class BandwidthUsageList(base.ObjectListBase, base.NovaObject):
|
class BandwidthUsageList(base.ObjectListBase, base.NovaObject):
|
||||||
# Version 1.0: Initial version
|
# Version 1.0: Initial version
|
||||||
# Version 1.1: Add use_slave to get_by_uuids
|
# Version 1.1: Add use_slave to get_by_uuids
|
||||||
|
|||||||
@@ -97,6 +97,17 @@ def make_class_properties(cls):
|
|||||||
setattr(cls, name, property(getter, setter, deleter))
|
setattr(cls, name, property(getter, setter, deleter))
|
||||||
|
|
||||||
|
|
||||||
|
# NOTE(danms): This is transitional to get the registration decorator
|
||||||
|
# on everything before we make a cut over
|
||||||
|
class NovaObjectRegistry(object):
|
||||||
|
classes = []
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def register(cls, obj_cls):
|
||||||
|
cls.classes.append(obj_cls.obj_name())
|
||||||
|
return obj_cls
|
||||||
|
|
||||||
|
|
||||||
class NovaObjectMetaclass(type):
|
class NovaObjectMetaclass(type):
|
||||||
"""Metaclass that allows tracking of object classes."""
|
"""Metaclass that allows tracking of object classes."""
|
||||||
|
|
||||||
|
|||||||
@@ -38,6 +38,7 @@ def _expected_cols(expected_attrs):
|
|||||||
|
|
||||||
|
|
||||||
# TODO(berrange): Remove NovaObjectDictCompat
|
# TODO(berrange): Remove NovaObjectDictCompat
|
||||||
|
@base.NovaObjectRegistry.register
|
||||||
class BlockDeviceMapping(base.NovaPersistentObject, base.NovaObject,
|
class BlockDeviceMapping(base.NovaPersistentObject, base.NovaObject,
|
||||||
base.NovaObjectDictCompat):
|
base.NovaObjectDictCompat):
|
||||||
# Version 1.0: Initial version
|
# Version 1.0: Initial version
|
||||||
@@ -232,6 +233,7 @@ class BlockDeviceMapping(base.NovaPersistentObject, base.NovaObject,
|
|||||||
self.obj_reset_changes(fields=['instance'])
|
self.obj_reset_changes(fields=['instance'])
|
||||||
|
|
||||||
|
|
||||||
|
@base.NovaObjectRegistry.register
|
||||||
class BlockDeviceMappingList(base.ObjectListBase, base.NovaObject):
|
class BlockDeviceMappingList(base.ObjectListBase, base.NovaObject):
|
||||||
# Version 1.0: Initial version
|
# Version 1.0: Initial version
|
||||||
# Version 1.1: BlockDeviceMapping <= version 1.1
|
# Version 1.1: BlockDeviceMapping <= version 1.1
|
||||||
|
|||||||
@@ -17,6 +17,7 @@ from nova.objects import base
|
|||||||
from nova.objects import fields
|
from nova.objects import fields
|
||||||
|
|
||||||
|
|
||||||
|
@base.NovaObjectRegistry.register
|
||||||
class CellMapping(base.NovaTimestampObject, base.NovaObject):
|
class CellMapping(base.NovaTimestampObject, base.NovaObject):
|
||||||
# Version 1.0: Initial version
|
# Version 1.0: Initial version
|
||||||
VERSION = '1.0'
|
VERSION = '1.0'
|
||||||
|
|||||||
@@ -24,6 +24,7 @@ from nova import utils
|
|||||||
|
|
||||||
|
|
||||||
# TODO(berrange): Remove NovaObjectDictCompat
|
# TODO(berrange): Remove NovaObjectDictCompat
|
||||||
|
@base.NovaObjectRegistry.register
|
||||||
class ComputeNode(base.NovaPersistentObject, base.NovaObject,
|
class ComputeNode(base.NovaPersistentObject, base.NovaObject,
|
||||||
base.NovaObjectDictCompat):
|
base.NovaObjectDictCompat):
|
||||||
# Version 1.0: Initial version
|
# Version 1.0: Initial version
|
||||||
@@ -271,6 +272,7 @@ class ComputeNode(base.NovaPersistentObject, base.NovaObject,
|
|||||||
return self._cached_service
|
return self._cached_service
|
||||||
|
|
||||||
|
|
||||||
|
@base.NovaObjectRegistry.register
|
||||||
class ComputeNodeList(base.ObjectListBase, base.NovaObject):
|
class ComputeNodeList(base.ObjectListBase, base.NovaObject):
|
||||||
# Version 1.0: Initial version
|
# Version 1.0: Initial version
|
||||||
# ComputeNode <= version 1.2
|
# ComputeNode <= version 1.2
|
||||||
|
|||||||
@@ -19,6 +19,7 @@ from nova.objects import fields
|
|||||||
|
|
||||||
|
|
||||||
# TODO(berrange): Remove NovaObjectDictCompat
|
# TODO(berrange): Remove NovaObjectDictCompat
|
||||||
|
@base.NovaObjectRegistry.register
|
||||||
class DNSDomain(base.NovaPersistentObject, base.NovaObject,
|
class DNSDomain(base.NovaPersistentObject, base.NovaObject,
|
||||||
base.NovaObjectDictCompat):
|
base.NovaObjectDictCompat):
|
||||||
# Version 1.0: Initial version
|
# Version 1.0: Initial version
|
||||||
@@ -58,6 +59,7 @@ class DNSDomain(base.NovaPersistentObject, base.NovaObject,
|
|||||||
db.dnsdomain_unregister(context, domain)
|
db.dnsdomain_unregister(context, domain)
|
||||||
|
|
||||||
|
|
||||||
|
@base.NovaObjectRegistry.register
|
||||||
class DNSDomainList(base.ObjectListBase, base.NovaObject):
|
class DNSDomainList(base.ObjectListBase, base.NovaObject):
|
||||||
# Version 1.0: Initial version
|
# Version 1.0: Initial version
|
||||||
VERSION = '1.0'
|
VERSION = '1.0'
|
||||||
|
|||||||
@@ -20,6 +20,7 @@ from nova.objects import fields
|
|||||||
|
|
||||||
|
|
||||||
# TODO(berrange): Remove NovaObjectDictCompat
|
# TODO(berrange): Remove NovaObjectDictCompat
|
||||||
|
@base.NovaObjectRegistry.register
|
||||||
class EC2InstanceMapping(base.NovaPersistentObject, base.NovaObject,
|
class EC2InstanceMapping(base.NovaPersistentObject, base.NovaObject,
|
||||||
base.NovaObjectDictCompat):
|
base.NovaObjectDictCompat):
|
||||||
# Version 1.0: Initial version
|
# Version 1.0: Initial version
|
||||||
@@ -60,6 +61,7 @@ class EC2InstanceMapping(base.NovaPersistentObject, base.NovaObject,
|
|||||||
|
|
||||||
|
|
||||||
# TODO(berrange): Remove NovaObjectDictCompat
|
# TODO(berrange): Remove NovaObjectDictCompat
|
||||||
|
@base.NovaObjectRegistry.register
|
||||||
class EC2VolumeMapping(base.NovaPersistentObject, base.NovaObject,
|
class EC2VolumeMapping(base.NovaPersistentObject, base.NovaObject,
|
||||||
base.NovaObjectDictCompat):
|
base.NovaObjectDictCompat):
|
||||||
# Version 1.0: Initial version
|
# Version 1.0: Initial version
|
||||||
@@ -100,6 +102,7 @@ class EC2VolumeMapping(base.NovaPersistentObject, base.NovaObject,
|
|||||||
|
|
||||||
|
|
||||||
# TODO(berrange): Remove NovaObjectDictCompat
|
# TODO(berrange): Remove NovaObjectDictCompat
|
||||||
|
@base.NovaObjectRegistry.register
|
||||||
class EC2SnapshotMapping(base.NovaPersistentObject, base.NovaObject,
|
class EC2SnapshotMapping(base.NovaPersistentObject, base.NovaObject,
|
||||||
base.NovaObjectDictCompat):
|
base.NovaObjectDictCompat):
|
||||||
# Version 1.0: Initial version
|
# Version 1.0: Initial version
|
||||||
@@ -140,6 +143,7 @@ class EC2SnapshotMapping(base.NovaPersistentObject, base.NovaObject,
|
|||||||
|
|
||||||
|
|
||||||
# TODO(berrange): Remove NovaObjectDictCompat
|
# TODO(berrange): Remove NovaObjectDictCompat
|
||||||
|
@base.NovaObjectRegistry.register
|
||||||
class S3ImageMapping(base.NovaPersistentObject, base.NovaObject,
|
class S3ImageMapping(base.NovaPersistentObject, base.NovaObject,
|
||||||
base.NovaObjectDictCompat):
|
base.NovaObjectDictCompat):
|
||||||
# Version 1.0: Initial version
|
# Version 1.0: Initial version
|
||||||
@@ -179,6 +183,7 @@ class S3ImageMapping(base.NovaPersistentObject, base.NovaObject,
|
|||||||
return cls._from_db_object(context, cls(context), db_s3imap)
|
return cls._from_db_object(context, cls(context), db_s3imap)
|
||||||
|
|
||||||
|
|
||||||
|
@base.NovaObjectRegistry.register
|
||||||
class EC2Ids(base.NovaObject):
|
class EC2Ids(base.NovaObject):
|
||||||
# Version 1.0: Initial version
|
# Version 1.0: Initial version
|
||||||
VERSION = '1.0'
|
VERSION = '1.0'
|
||||||
|
|||||||
@@ -29,6 +29,7 @@ EVENT_STATUSES = ['failed', 'completed', 'in-progress']
|
|||||||
|
|
||||||
|
|
||||||
# TODO(berrange): Remove NovaObjectDictCompat
|
# TODO(berrange): Remove NovaObjectDictCompat
|
||||||
|
@obj_base.NovaObjectRegistry.register
|
||||||
class InstanceExternalEvent(obj_base.NovaObject,
|
class InstanceExternalEvent(obj_base.NovaObject,
|
||||||
obj_base.NovaObjectDictCompat):
|
obj_base.NovaObjectDictCompat):
|
||||||
# Version 1.0: Initial version
|
# Version 1.0: Initial version
|
||||||
|
|||||||
@@ -27,6 +27,7 @@ FIXED_IP_OPTIONAL_ATTRS = ['instance', 'network', 'virtual_interface',
|
|||||||
|
|
||||||
|
|
||||||
# TODO(berrange): Remove NovaObjectDictCompat
|
# TODO(berrange): Remove NovaObjectDictCompat
|
||||||
|
@obj_base.NovaObjectRegistry.register
|
||||||
class FixedIP(obj_base.NovaPersistentObject, obj_base.NovaObject,
|
class FixedIP(obj_base.NovaPersistentObject, obj_base.NovaObject,
|
||||||
obj_base.NovaObjectDictCompat):
|
obj_base.NovaObjectDictCompat):
|
||||||
# Version 1.0: Initial version
|
# Version 1.0: Initial version
|
||||||
@@ -203,6 +204,7 @@ class FixedIP(obj_base.NovaPersistentObject, obj_base.NovaObject,
|
|||||||
self.obj_reset_changes(['instance_uuid', 'instance'])
|
self.obj_reset_changes(['instance_uuid', 'instance'])
|
||||||
|
|
||||||
|
|
||||||
|
@obj_base.NovaObjectRegistry.register
|
||||||
class FixedIPList(obj_base.ObjectListBase, obj_base.NovaObject):
|
class FixedIPList(obj_base.ObjectListBase, obj_base.NovaObject):
|
||||||
# Version 1.0: Initial version
|
# Version 1.0: Initial version
|
||||||
# Version 1.1: Added get_by_network()
|
# Version 1.1: Added get_by_network()
|
||||||
|
|||||||
@@ -23,6 +23,7 @@ OPTIONAL_FIELDS = ['extra_specs', 'projects']
|
|||||||
|
|
||||||
|
|
||||||
# TODO(berrange): Remove NovaObjectDictCompat
|
# TODO(berrange): Remove NovaObjectDictCompat
|
||||||
|
@base.NovaObjectRegistry.register
|
||||||
class Flavor(base.NovaPersistentObject, base.NovaObject,
|
class Flavor(base.NovaPersistentObject, base.NovaObject,
|
||||||
base.NovaObjectDictCompat):
|
base.NovaObjectDictCompat):
|
||||||
# Version 1.0: Initial version
|
# Version 1.0: Initial version
|
||||||
@@ -250,6 +251,7 @@ class Flavor(base.NovaPersistentObject, base.NovaObject,
|
|||||||
db.flavor_destroy(self._context, self.name)
|
db.flavor_destroy(self._context, self.name)
|
||||||
|
|
||||||
|
|
||||||
|
@base.NovaObjectRegistry.register
|
||||||
class FlavorList(base.ObjectListBase, base.NovaObject):
|
class FlavorList(base.ObjectListBase, base.NovaObject):
|
||||||
VERSION = '1.1'
|
VERSION = '1.1'
|
||||||
|
|
||||||
|
|||||||
@@ -22,6 +22,7 @@ FLOATING_IP_OPTIONAL_ATTRS = ['fixed_ip']
|
|||||||
|
|
||||||
|
|
||||||
# TODO(berrange): Remove NovaObjectDictCompat
|
# TODO(berrange): Remove NovaObjectDictCompat
|
||||||
|
@obj_base.NovaObjectRegistry.register
|
||||||
class FloatingIP(obj_base.NovaPersistentObject, obj_base.NovaObject,
|
class FloatingIP(obj_base.NovaPersistentObject, obj_base.NovaObject,
|
||||||
obj_base.NovaObjectDictCompat):
|
obj_base.NovaObjectDictCompat):
|
||||||
# Version 1.0: Initial version
|
# Version 1.0: Initial version
|
||||||
@@ -162,6 +163,7 @@ class FloatingIP(obj_base.NovaPersistentObject, obj_base.NovaObject,
|
|||||||
self._from_db_object(self._context, self, db_floatingip)
|
self._from_db_object(self._context, self, db_floatingip)
|
||||||
|
|
||||||
|
|
||||||
|
@obj_base.NovaObjectRegistry.register
|
||||||
class FloatingIPList(obj_base.ObjectListBase, obj_base.NovaObject):
|
class FloatingIPList(obj_base.ObjectListBase, obj_base.NovaObject):
|
||||||
# Version 1.3: FloatingIP 1.2
|
# Version 1.3: FloatingIP 1.2
|
||||||
# Version 1.4: FloatingIP 1.3
|
# Version 1.4: FloatingIP 1.3
|
||||||
|
|||||||
@@ -18,6 +18,7 @@ from nova.objects import fields
|
|||||||
|
|
||||||
|
|
||||||
# TODO(berrange): Remove NovaObjectDictCompat
|
# TODO(berrange): Remove NovaObjectDictCompat
|
||||||
|
@base.NovaObjectRegistry.register
|
||||||
class HVSpec(base.NovaObject,
|
class HVSpec(base.NovaObject,
|
||||||
base.NovaObjectDictCompat):
|
base.NovaObjectDictCompat):
|
||||||
# Version 1.0: Initial version
|
# Version 1.0: Initial version
|
||||||
|
|||||||
@@ -21,6 +21,7 @@ from nova import utils
|
|||||||
from nova.virt import hardware
|
from nova.virt import hardware
|
||||||
|
|
||||||
|
|
||||||
|
@base.NovaObjectRegistry.register
|
||||||
class ImageMeta(base.NovaObject):
|
class ImageMeta(base.NovaObject):
|
||||||
VERSION = '1.0'
|
VERSION = '1.0'
|
||||||
|
|
||||||
@@ -98,6 +99,7 @@ class ImageMeta(base.NovaObject):
|
|||||||
return cls.from_dict(image_meta)
|
return cls.from_dict(image_meta)
|
||||||
|
|
||||||
|
|
||||||
|
@base.NovaObjectRegistry.register
|
||||||
class ImageMetaProps(base.NovaObject):
|
class ImageMetaProps(base.NovaObject):
|
||||||
VERSION = ImageMeta.VERSION
|
VERSION = ImageMeta.VERSION
|
||||||
|
|
||||||
|
|||||||
@@ -133,6 +133,7 @@ def compat_instance(instance):
|
|||||||
|
|
||||||
|
|
||||||
# TODO(berrange): Remove NovaObjectDictCompat
|
# TODO(berrange): Remove NovaObjectDictCompat
|
||||||
|
@base.NovaObjectRegistry.register
|
||||||
class Instance(base.NovaPersistentObject, base.NovaObject,
|
class Instance(base.NovaPersistentObject, base.NovaObject,
|
||||||
base.NovaObjectDictCompat):
|
base.NovaObjectDictCompat):
|
||||||
# Version 1.0: Initial version
|
# Version 1.0: Initial version
|
||||||
@@ -1169,6 +1170,7 @@ def _make_instance_list(context, inst_list, db_inst_list, expected_attrs):
|
|||||||
return inst_list
|
return inst_list
|
||||||
|
|
||||||
|
|
||||||
|
@base.NovaObjectRegistry.register
|
||||||
class InstanceList(base.ObjectListBase, base.NovaObject):
|
class InstanceList(base.ObjectListBase, base.NovaObject):
|
||||||
# Version 1.0: Initial version
|
# Version 1.0: Initial version
|
||||||
# Version 1.1: Added use_slave to get_by_host
|
# Version 1.1: Added use_slave to get_by_host
|
||||||
|
|||||||
@@ -21,6 +21,7 @@ from nova.objects import fields
|
|||||||
|
|
||||||
|
|
||||||
# TODO(berrange): Remove NovaObjectDictCompat
|
# TODO(berrange): Remove NovaObjectDictCompat
|
||||||
|
@base.NovaObjectRegistry.register
|
||||||
class InstanceAction(base.NovaPersistentObject, base.NovaObject,
|
class InstanceAction(base.NovaPersistentObject, base.NovaObject,
|
||||||
base.NovaObjectDictCompat):
|
base.NovaObjectDictCompat):
|
||||||
# Version 1.0: Initial version
|
# Version 1.0: Initial version
|
||||||
@@ -93,6 +94,7 @@ class InstanceAction(base.NovaPersistentObject, base.NovaObject,
|
|||||||
self._from_db_object(self._context, self, db_action)
|
self._from_db_object(self._context, self, db_action)
|
||||||
|
|
||||||
|
|
||||||
|
@base.NovaObjectRegistry.register
|
||||||
class InstanceActionList(base.ObjectListBase, base.NovaObject):
|
class InstanceActionList(base.ObjectListBase, base.NovaObject):
|
||||||
# Version 1.0: Initial version
|
# Version 1.0: Initial version
|
||||||
# InstanceAction <= version 1.1
|
# InstanceAction <= version 1.1
|
||||||
@@ -112,6 +114,7 @@ class InstanceActionList(base.ObjectListBase, base.NovaObject):
|
|||||||
|
|
||||||
|
|
||||||
# TODO(berrange): Remove NovaObjectDictCompat
|
# TODO(berrange): Remove NovaObjectDictCompat
|
||||||
|
@base.NovaObjectRegistry.register
|
||||||
class InstanceActionEvent(base.NovaPersistentObject, base.NovaObject,
|
class InstanceActionEvent(base.NovaPersistentObject, base.NovaObject,
|
||||||
base.NovaObjectDictCompat):
|
base.NovaObjectDictCompat):
|
||||||
# Version 1.0: Initial version
|
# Version 1.0: Initial version
|
||||||
@@ -204,6 +207,7 @@ class InstanceActionEvent(base.NovaPersistentObject, base.NovaObject,
|
|||||||
self.finish_with_failure(self._context, exc_val=None, exc_tb=None)
|
self.finish_with_failure(self._context, exc_val=None, exc_tb=None)
|
||||||
|
|
||||||
|
|
||||||
|
@base.NovaObjectRegistry.register
|
||||||
class InstanceActionEventList(base.ObjectListBase, base.NovaObject):
|
class InstanceActionEventList(base.ObjectListBase, base.NovaObject):
|
||||||
fields = {
|
fields = {
|
||||||
'objects': fields.ListOfObjectsField('InstanceActionEvent'),
|
'objects': fields.ListOfObjectsField('InstanceActionEvent'),
|
||||||
|
|||||||
@@ -30,6 +30,7 @@ LOG = logging.getLogger(__name__)
|
|||||||
|
|
||||||
|
|
||||||
# TODO(berrange): Remove NovaObjectDictCompat
|
# TODO(berrange): Remove NovaObjectDictCompat
|
||||||
|
@base.NovaObjectRegistry.register
|
||||||
class InstanceFault(base.NovaPersistentObject, base.NovaObject,
|
class InstanceFault(base.NovaPersistentObject, base.NovaObject,
|
||||||
base.NovaObjectDictCompat):
|
base.NovaObjectDictCompat):
|
||||||
# Version 1.0: Initial version
|
# Version 1.0: Initial version
|
||||||
@@ -90,6 +91,7 @@ class InstanceFault(base.NovaPersistentObject, base.NovaObject,
|
|||||||
LOG.exception(_LE("Failed to notify cells of instance fault"))
|
LOG.exception(_LE("Failed to notify cells of instance fault"))
|
||||||
|
|
||||||
|
|
||||||
|
@base.NovaObjectRegistry.register
|
||||||
class InstanceFaultList(base.ObjectListBase, base.NovaObject):
|
class InstanceFaultList(base.ObjectListBase, base.NovaObject):
|
||||||
# Version 1.0: Initial version
|
# Version 1.0: Initial version
|
||||||
# InstanceFault <= version 1.1
|
# InstanceFault <= version 1.1
|
||||||
|
|||||||
@@ -24,6 +24,7 @@ from nova import utils
|
|||||||
|
|
||||||
|
|
||||||
# TODO(berrange): Remove NovaObjectDictCompat
|
# TODO(berrange): Remove NovaObjectDictCompat
|
||||||
|
@base.NovaObjectRegistry.register
|
||||||
class InstanceGroup(base.NovaPersistentObject, base.NovaObject,
|
class InstanceGroup(base.NovaPersistentObject, base.NovaObject,
|
||||||
base.NovaObjectDictCompat):
|
base.NovaObjectDictCompat):
|
||||||
# Version 1.0: Initial version
|
# Version 1.0: Initial version
|
||||||
@@ -197,6 +198,7 @@ class InstanceGroup(base.NovaPersistentObject, base.NovaObject,
|
|||||||
return len(instances)
|
return len(instances)
|
||||||
|
|
||||||
|
|
||||||
|
@base.NovaObjectRegistry.register
|
||||||
class InstanceGroupList(base.ObjectListBase, base.NovaObject):
|
class InstanceGroupList(base.ObjectListBase, base.NovaObject):
|
||||||
# Version 1.0: Initial version
|
# Version 1.0: Initial version
|
||||||
# InstanceGroup <= version 1.3
|
# InstanceGroup <= version 1.3
|
||||||
|
|||||||
@@ -26,6 +26,7 @@ LOG = logging.getLogger(__name__)
|
|||||||
|
|
||||||
|
|
||||||
# TODO(berrange): Remove NovaObjectDictCompat
|
# TODO(berrange): Remove NovaObjectDictCompat
|
||||||
|
@base.NovaObjectRegistry.register
|
||||||
class InstanceInfoCache(base.NovaPersistentObject, base.NovaObject,
|
class InstanceInfoCache(base.NovaPersistentObject, base.NovaObject,
|
||||||
base.NovaObjectDictCompat):
|
base.NovaObjectDictCompat):
|
||||||
# Version 1.0: Initial version
|
# Version 1.0: Initial version
|
||||||
|
|||||||
@@ -18,6 +18,7 @@ from nova.objects import base
|
|||||||
from nova.objects import fields
|
from nova.objects import fields
|
||||||
|
|
||||||
|
|
||||||
|
@base.NovaObjectRegistry.register
|
||||||
class InstanceMapping(base.NovaTimestampObject, base.NovaObject):
|
class InstanceMapping(base.NovaTimestampObject, base.NovaObject):
|
||||||
# Version 1.0: Initial version
|
# Version 1.0: Initial version
|
||||||
VERSION = '1.0'
|
VERSION = '1.0'
|
||||||
@@ -107,6 +108,7 @@ class InstanceMapping(base.NovaTimestampObject, base.NovaObject):
|
|||||||
self._destroy_in_db(self._context, self.instance_uuid)
|
self._destroy_in_db(self._context, self.instance_uuid)
|
||||||
|
|
||||||
|
|
||||||
|
@base.NovaObjectRegistry.register
|
||||||
class InstanceMappingList(base.ObjectListBase, base.NovaObject):
|
class InstanceMappingList(base.ObjectListBase, base.NovaObject):
|
||||||
# Version 1.0: Initial version
|
# Version 1.0: Initial version
|
||||||
VERSION = '1.0'
|
VERSION = '1.0'
|
||||||
|
|||||||
@@ -22,6 +22,7 @@ from nova.virt import hardware
|
|||||||
|
|
||||||
|
|
||||||
# TODO(berrange): Remove NovaObjectDictCompat
|
# TODO(berrange): Remove NovaObjectDictCompat
|
||||||
|
@base.NovaObjectRegistry.register
|
||||||
class InstanceNUMACell(base.NovaObject,
|
class InstanceNUMACell(base.NovaObject,
|
||||||
base.NovaObjectDictCompat):
|
base.NovaObjectDictCompat):
|
||||||
# Version 1.0: Initial version
|
# Version 1.0: Initial version
|
||||||
@@ -109,6 +110,7 @@ class InstanceNUMACell(base.NovaObject,
|
|||||||
|
|
||||||
|
|
||||||
# TODO(berrange): Remove NovaObjectDictCompat
|
# TODO(berrange): Remove NovaObjectDictCompat
|
||||||
|
@base.NovaObjectRegistry.register
|
||||||
class InstanceNUMATopology(base.NovaObject,
|
class InstanceNUMATopology(base.NovaObject,
|
||||||
base.NovaObjectDictCompat):
|
base.NovaObjectDictCompat):
|
||||||
# Version 1.0: Initial version
|
# Version 1.0: Initial version
|
||||||
|
|||||||
@@ -19,6 +19,7 @@ from nova import utils
|
|||||||
|
|
||||||
|
|
||||||
# TODO(berrange): Remove NovaObjectDictCompat
|
# TODO(berrange): Remove NovaObjectDictCompat
|
||||||
|
@base.NovaObjectRegistry.register
|
||||||
class InstancePCIRequest(base.NovaObject,
|
class InstancePCIRequest(base.NovaObject,
|
||||||
base.NovaObjectDictCompat):
|
base.NovaObjectDictCompat):
|
||||||
# Version 1.0: Initial version
|
# Version 1.0: Initial version
|
||||||
@@ -52,6 +53,7 @@ class InstancePCIRequest(base.NovaObject,
|
|||||||
|
|
||||||
|
|
||||||
# TODO(berrange): Remove NovaObjectDictCompat
|
# TODO(berrange): Remove NovaObjectDictCompat
|
||||||
|
@base.NovaObjectRegistry.register
|
||||||
class InstancePCIRequests(base.NovaObject,
|
class InstancePCIRequests(base.NovaObject,
|
||||||
base.NovaObjectDictCompat):
|
base.NovaObjectDictCompat):
|
||||||
# Version 1.0: Initial version
|
# Version 1.0: Initial version
|
||||||
|
|||||||
@@ -24,6 +24,7 @@ KEYPAIR_TYPE_X509 = 'x509'
|
|||||||
|
|
||||||
|
|
||||||
# TODO(berrange): Remove NovaObjectDictCompat
|
# TODO(berrange): Remove NovaObjectDictCompat
|
||||||
|
@base.NovaObjectRegistry.register
|
||||||
class KeyPair(base.NovaPersistentObject, base.NovaObject,
|
class KeyPair(base.NovaPersistentObject, base.NovaObject,
|
||||||
base.NovaObjectDictCompat):
|
base.NovaObjectDictCompat):
|
||||||
# Version 1.0: Initial version
|
# Version 1.0: Initial version
|
||||||
@@ -78,6 +79,7 @@ class KeyPair(base.NovaPersistentObject, base.NovaObject,
|
|||||||
db.key_pair_destroy(self._context, self.user_id, self.name)
|
db.key_pair_destroy(self._context, self.user_id, self.name)
|
||||||
|
|
||||||
|
|
||||||
|
@base.NovaObjectRegistry.register
|
||||||
class KeyPairList(base.ObjectListBase, base.NovaObject):
|
class KeyPairList(base.ObjectListBase, base.NovaObject):
|
||||||
# Version 1.0: Initial version
|
# Version 1.0: Initial version
|
||||||
# KeyPair <= version 1.1
|
# KeyPair <= version 1.1
|
||||||
|
|||||||
@@ -28,6 +28,7 @@ def _determine_migration_type(migration):
|
|||||||
|
|
||||||
|
|
||||||
# TODO(berrange): Remove NovaObjectDictCompat
|
# TODO(berrange): Remove NovaObjectDictCompat
|
||||||
|
@base.NovaObjectRegistry.register
|
||||||
class Migration(base.NovaPersistentObject, base.NovaObject,
|
class Migration(base.NovaPersistentObject, base.NovaObject,
|
||||||
base.NovaObjectDictCompat):
|
base.NovaObjectDictCompat):
|
||||||
# Version 1.0: Initial version
|
# Version 1.0: Initial version
|
||||||
@@ -115,6 +116,7 @@ class Migration(base.NovaPersistentObject, base.NovaObject,
|
|||||||
return objects.Instance.get_by_uuid(self._context, self.instance_uuid)
|
return objects.Instance.get_by_uuid(self._context, self.instance_uuid)
|
||||||
|
|
||||||
|
|
||||||
|
@base.NovaObjectRegistry.register
|
||||||
class MigrationList(base.ObjectListBase, base.NovaObject):
|
class MigrationList(base.ObjectListBase, base.NovaObject):
|
||||||
# Version 1.0: Initial version
|
# Version 1.0: Initial version
|
||||||
# Migration <= 1.1
|
# Migration <= 1.1
|
||||||
|
|||||||
@@ -41,6 +41,7 @@ CONF.register_opts(network_opts)
|
|||||||
|
|
||||||
|
|
||||||
# TODO(berrange): Remove NovaObjectDictCompat
|
# TODO(berrange): Remove NovaObjectDictCompat
|
||||||
|
@obj_base.NovaObjectRegistry.register
|
||||||
class Network(obj_base.NovaPersistentObject, obj_base.NovaObject,
|
class Network(obj_base.NovaPersistentObject, obj_base.NovaObject,
|
||||||
obj_base.NovaObjectDictCompat):
|
obj_base.NovaObjectDictCompat):
|
||||||
# Version 1.0: Initial version
|
# Version 1.0: Initial version
|
||||||
@@ -206,6 +207,7 @@ class Network(obj_base.NovaPersistentObject, obj_base.NovaObject,
|
|||||||
self._from_db_object(context, self, db_network)
|
self._from_db_object(context, self, db_network)
|
||||||
|
|
||||||
|
|
||||||
|
@obj_base.NovaObjectRegistry.register
|
||||||
class NetworkList(obj_base.ObjectListBase, obj_base.NovaObject):
|
class NetworkList(obj_base.ObjectListBase, obj_base.NovaObject):
|
||||||
# Version 1.0: Initial version
|
# Version 1.0: Initial version
|
||||||
# Version 1.1: Added get_by_project()
|
# Version 1.1: Added get_by_project()
|
||||||
|
|||||||
@@ -18,6 +18,7 @@ from nova import utils
|
|||||||
|
|
||||||
|
|
||||||
# TODO(berrange): Remove NovaObjectDictCompat
|
# TODO(berrange): Remove NovaObjectDictCompat
|
||||||
|
@obj_base.NovaObjectRegistry.register
|
||||||
class NetworkRequest(obj_base.NovaObject,
|
class NetworkRequest(obj_base.NovaObject,
|
||||||
obj_base.NovaObjectDictCompat):
|
obj_base.NovaObjectDictCompat):
|
||||||
# Version 1.0: Initial version
|
# Version 1.0: Initial version
|
||||||
@@ -57,6 +58,7 @@ class NetworkRequest(obj_base.NovaObject,
|
|||||||
return cls(network_id=network_id, address=address)
|
return cls(network_id=network_id, address=address)
|
||||||
|
|
||||||
|
|
||||||
|
@obj_base.NovaObjectRegistry.register
|
||||||
class NetworkRequestList(obj_base.ObjectListBase, obj_base.NovaObject):
|
class NetworkRequestList(obj_base.ObjectListBase, obj_base.NovaObject):
|
||||||
fields = {
|
fields = {
|
||||||
'objects': fields.ListOfObjectsField('NetworkRequest'),
|
'objects': fields.ListOfObjectsField('NetworkRequest'),
|
||||||
|
|||||||
@@ -35,6 +35,7 @@ def all_things_equal(obj_a, obj_b):
|
|||||||
|
|
||||||
|
|
||||||
# TODO(berrange): Remove NovaObjectDictCompat
|
# TODO(berrange): Remove NovaObjectDictCompat
|
||||||
|
@base.NovaObjectRegistry.register
|
||||||
class NUMACell(base.NovaObject,
|
class NUMACell(base.NovaObject,
|
||||||
base.NovaObjectDictCompat):
|
base.NovaObjectDictCompat):
|
||||||
# Version 1.0: Initial version
|
# Version 1.0: Initial version
|
||||||
@@ -131,6 +132,7 @@ class NUMACell(base.NovaObject,
|
|||||||
|
|
||||||
|
|
||||||
# TODO(berrange): Remove NovaObjectDictCompat
|
# TODO(berrange): Remove NovaObjectDictCompat
|
||||||
|
@base.NovaObjectRegistry.register
|
||||||
class NUMAPagesTopology(base.NovaObject,
|
class NUMAPagesTopology(base.NovaObject,
|
||||||
base.NovaObjectDictCompat):
|
base.NovaObjectDictCompat):
|
||||||
# Version 1.0: Initial version
|
# Version 1.0: Initial version
|
||||||
@@ -160,6 +162,7 @@ class NUMAPagesTopology(base.NovaObject,
|
|||||||
|
|
||||||
|
|
||||||
# TODO(berrange): Remove NovaObjectDictCompat
|
# TODO(berrange): Remove NovaObjectDictCompat
|
||||||
|
@base.NovaObjectRegistry.register
|
||||||
class NUMATopology(base.NovaObject,
|
class NUMATopology(base.NovaObject,
|
||||||
base.NovaObjectDictCompat):
|
base.NovaObjectDictCompat):
|
||||||
# Version 1.0: Initial version
|
# Version 1.0: Initial version
|
||||||
@@ -210,6 +213,7 @@ class NUMATopology(base.NovaObject,
|
|||||||
for cell_dict in data_dict.get('cells', [])])
|
for cell_dict in data_dict.get('cells', [])])
|
||||||
|
|
||||||
|
|
||||||
|
@base.NovaObjectRegistry.register
|
||||||
class NUMATopologyLimits(base.NovaObject):
|
class NUMATopologyLimits(base.NovaObject):
|
||||||
# Version 1.0: Initial version
|
# Version 1.0: Initial version
|
||||||
VERSION = '1.0'
|
VERSION = '1.0'
|
||||||
|
|||||||
@@ -42,6 +42,7 @@ def compare_pci_device_attributes(obj_a, obj_b):
|
|||||||
|
|
||||||
|
|
||||||
# TODO(berrange): Remove NovaObjectDictCompat
|
# TODO(berrange): Remove NovaObjectDictCompat
|
||||||
|
@base.NovaObjectRegistry.register
|
||||||
class PciDevice(base.NovaPersistentObject, base.NovaObject,
|
class PciDevice(base.NovaPersistentObject, base.NovaObject,
|
||||||
base.NovaObjectDictCompat):
|
base.NovaObjectDictCompat):
|
||||||
|
|
||||||
@@ -200,6 +201,7 @@ class PciDevice(base.NovaPersistentObject, base.NovaObject,
|
|||||||
self._from_db_object(self._context, self, db_pci)
|
self._from_db_object(self._context, self, db_pci)
|
||||||
|
|
||||||
|
|
||||||
|
@base.NovaObjectRegistry.register
|
||||||
class PciDeviceList(base.ObjectListBase, base.NovaObject):
|
class PciDeviceList(base.ObjectListBase, base.NovaObject):
|
||||||
# Version 1.0: Initial version
|
# Version 1.0: Initial version
|
||||||
# PciDevice <= 1.1
|
# PciDevice <= 1.1
|
||||||
|
|||||||
@@ -24,6 +24,7 @@ from nova.objects import fields
|
|||||||
from nova import utils
|
from nova import utils
|
||||||
|
|
||||||
|
|
||||||
|
@base.NovaObjectRegistry.register
|
||||||
class PciDevicePool(base.NovaObject):
|
class PciDevicePool(base.NovaObject):
|
||||||
# Version 1.0: Initial version
|
# Version 1.0: Initial version
|
||||||
# Version 1.1: Added numa_node field
|
# Version 1.1: Added numa_node field
|
||||||
@@ -67,6 +68,7 @@ class PciDevicePool(base.NovaObject):
|
|||||||
return pci_pool
|
return pci_pool
|
||||||
|
|
||||||
|
|
||||||
|
@base.NovaObjectRegistry.register
|
||||||
class PciDevicePoolList(base.ObjectListBase, base.NovaObject):
|
class PciDevicePoolList(base.ObjectListBase, base.NovaObject):
|
||||||
# Version 1.0: Initial version
|
# Version 1.0: Initial version
|
||||||
# PciDevicePool <= 1.0
|
# PciDevicePool <= 1.0
|
||||||
|
|||||||
@@ -47,6 +47,7 @@ def ids_from_server_group(context, server_group):
|
|||||||
|
|
||||||
|
|
||||||
# TODO(berrange): Remove NovaObjectDictCompat
|
# TODO(berrange): Remove NovaObjectDictCompat
|
||||||
|
@base.NovaObjectRegistry.register
|
||||||
class Quotas(base.NovaObject,
|
class Quotas(base.NovaObject,
|
||||||
base.NovaObjectDictCompat):
|
base.NovaObjectDictCompat):
|
||||||
# Version 1.0: initial version
|
# Version 1.0: initial version
|
||||||
@@ -144,6 +145,7 @@ class Quotas(base.NovaObject,
|
|||||||
db.quota_update(context, project_id, resource, limit, user_id=user_id)
|
db.quota_update(context, project_id, resource, limit, user_id=user_id)
|
||||||
|
|
||||||
|
|
||||||
|
@base.NovaObjectRegistry.register
|
||||||
class QuotasNoOp(Quotas):
|
class QuotasNoOp(Quotas):
|
||||||
def reserve(context, expire=None, project_id=None, user_id=None,
|
def reserve(context, expire=None, project_id=None, user_id=None,
|
||||||
**deltas):
|
**deltas):
|
||||||
|
|||||||
@@ -19,6 +19,7 @@ from nova.objects import fields
|
|||||||
|
|
||||||
|
|
||||||
# TODO(berrange): Remove NovaObjectDictCompat
|
# TODO(berrange): Remove NovaObjectDictCompat
|
||||||
|
@base.NovaObjectRegistry.register
|
||||||
class SecurityGroup(base.NovaPersistentObject, base.NovaObject,
|
class SecurityGroup(base.NovaPersistentObject, base.NovaObject,
|
||||||
base.NovaObjectDictCompat):
|
base.NovaObjectDictCompat):
|
||||||
# Version 1.0: Initial version
|
# Version 1.0: Initial version
|
||||||
@@ -73,6 +74,7 @@ class SecurityGroup(base.NovaPersistentObject, base.NovaObject,
|
|||||||
db.security_group_get(self._context, self.id))
|
db.security_group_get(self._context, self.id))
|
||||||
|
|
||||||
|
|
||||||
|
@base.NovaObjectRegistry.register
|
||||||
class SecurityGroupList(base.ObjectListBase, base.NovaObject):
|
class SecurityGroupList(base.ObjectListBase, base.NovaObject):
|
||||||
# Version 1.0: Initial version
|
# Version 1.0: Initial version
|
||||||
# SecurityGroup <= version 1.1
|
# SecurityGroup <= version 1.1
|
||||||
|
|||||||
@@ -22,6 +22,7 @@ OPTIONAL_ATTRS = ['parent_group', 'grantee_group']
|
|||||||
|
|
||||||
|
|
||||||
# TODO(berrange): Remove NovaObjectDictCompat
|
# TODO(berrange): Remove NovaObjectDictCompat
|
||||||
|
@base.NovaObjectRegistry.register
|
||||||
class SecurityGroupRule(base.NovaPersistentObject, base.NovaObject,
|
class SecurityGroupRule(base.NovaPersistentObject, base.NovaObject,
|
||||||
base.NovaObjectDictCompat):
|
base.NovaObjectDictCompat):
|
||||||
# Version 1.0: Initial version
|
# Version 1.0: Initial version
|
||||||
@@ -84,6 +85,7 @@ class SecurityGroupRule(base.NovaPersistentObject, base.NovaObject,
|
|||||||
return cls._from_db_object(context, cls(), db_rule)
|
return cls._from_db_object(context, cls(), db_rule)
|
||||||
|
|
||||||
|
|
||||||
|
@base.NovaObjectRegistry.register
|
||||||
class SecurityGroupRuleList(base.ObjectListBase, base.NovaObject):
|
class SecurityGroupRuleList(base.ObjectListBase, base.NovaObject):
|
||||||
fields = {
|
fields = {
|
||||||
'objects': fields.ListOfObjectsField('SecurityGroupRule'),
|
'objects': fields.ListOfObjectsField('SecurityGroupRule'),
|
||||||
|
|||||||
@@ -27,6 +27,7 @@ LOG = logging.getLogger(__name__)
|
|||||||
|
|
||||||
|
|
||||||
# TODO(berrange): Remove NovaObjectDictCompat
|
# TODO(berrange): Remove NovaObjectDictCompat
|
||||||
|
@base.NovaObjectRegistry.register
|
||||||
class Service(base.NovaPersistentObject, base.NovaObject,
|
class Service(base.NovaPersistentObject, base.NovaObject,
|
||||||
base.NovaObjectDictCompat):
|
base.NovaObjectDictCompat):
|
||||||
# Version 1.0: Initial version
|
# Version 1.0: Initial version
|
||||||
@@ -179,6 +180,7 @@ class Service(base.NovaPersistentObject, base.NovaObject,
|
|||||||
db.service_destroy(self._context, self.id)
|
db.service_destroy(self._context, self.id)
|
||||||
|
|
||||||
|
|
||||||
|
@base.NovaObjectRegistry.register
|
||||||
class ServiceList(base.ObjectListBase, base.NovaObject):
|
class ServiceList(base.ObjectListBase, base.NovaObject):
|
||||||
# Version 1.0: Initial version
|
# Version 1.0: Initial version
|
||||||
# Service <= version 1.2
|
# Service <= version 1.2
|
||||||
|
|||||||
@@ -16,6 +16,7 @@ from nova.objects import base
|
|||||||
from nova.objects import fields
|
from nova.objects import fields
|
||||||
|
|
||||||
|
|
||||||
|
@base.NovaObjectRegistry.register
|
||||||
class Tag(base.NovaObject):
|
class Tag(base.NovaObject):
|
||||||
# Version 1.0: Initial version
|
# Version 1.0: Initial version
|
||||||
VERSION = '1.0'
|
VERSION = '1.0'
|
||||||
@@ -43,6 +44,7 @@ class Tag(base.NovaObject):
|
|||||||
db.instance_tag_delete(context, resource_id, name)
|
db.instance_tag_delete(context, resource_id, name)
|
||||||
|
|
||||||
|
|
||||||
|
@base.NovaObjectRegistry.register
|
||||||
class TagList(base.ObjectListBase, base.NovaObject):
|
class TagList(base.ObjectListBase, base.NovaObject):
|
||||||
# Version 1.0: Initial version
|
# Version 1.0: Initial version
|
||||||
VERSION = '1.0'
|
VERSION = '1.0'
|
||||||
|
|||||||
@@ -17,6 +17,7 @@ from nova.objects import base
|
|||||||
from nova.objects import fields
|
from nova.objects import fields
|
||||||
|
|
||||||
|
|
||||||
|
@base.NovaObjectRegistry.register
|
||||||
class VirtCPUModel(base.NovaObject):
|
class VirtCPUModel(base.NovaObject):
|
||||||
# Version 1.0: Initial version
|
# Version 1.0: Initial version
|
||||||
VERSION = '1.0'
|
VERSION = '1.0'
|
||||||
@@ -57,6 +58,7 @@ class VirtCPUModel(base.NovaObject):
|
|||||||
return cls.obj_from_primitive(jsonutils.loads(db_extra['vcpu_model']))
|
return cls.obj_from_primitive(jsonutils.loads(db_extra['vcpu_model']))
|
||||||
|
|
||||||
|
|
||||||
|
@base.NovaObjectRegistry.register
|
||||||
class VirtCPUFeature(base.NovaObject):
|
class VirtCPUFeature(base.NovaObject):
|
||||||
VERSION = VirtCPUModel.VERSION
|
VERSION = VirtCPUModel.VERSION
|
||||||
|
|
||||||
|
|||||||
@@ -15,6 +15,7 @@ from nova.objects import fields
|
|||||||
|
|
||||||
|
|
||||||
# TODO(berrange): Remove NovaObjectDictCompat
|
# TODO(berrange): Remove NovaObjectDictCompat
|
||||||
|
@base.NovaObjectRegistry.register
|
||||||
class VirtCPUTopology(base.NovaObject,
|
class VirtCPUTopology(base.NovaObject,
|
||||||
base.NovaObjectDictCompat):
|
base.NovaObjectDictCompat):
|
||||||
# Version 1.0: Initial version
|
# Version 1.0: Initial version
|
||||||
|
|||||||
@@ -20,6 +20,7 @@ from nova.objects import fields
|
|||||||
|
|
||||||
|
|
||||||
# TODO(berrange): Remove NovaObjectDictCompat
|
# TODO(berrange): Remove NovaObjectDictCompat
|
||||||
|
@base.NovaObjectRegistry.register
|
||||||
class VirtualInterface(base.NovaPersistentObject, base.NovaObject,
|
class VirtualInterface(base.NovaPersistentObject, base.NovaObject,
|
||||||
base.NovaObjectDictCompat):
|
base.NovaObjectDictCompat):
|
||||||
# Version 1.0: Initial version
|
# Version 1.0: Initial version
|
||||||
@@ -80,6 +81,7 @@ class VirtualInterface(base.NovaPersistentObject, base.NovaObject,
|
|||||||
db.virtual_interface_delete_by_instance(context, instance_uuid)
|
db.virtual_interface_delete_by_instance(context, instance_uuid)
|
||||||
|
|
||||||
|
|
||||||
|
@base.NovaObjectRegistry.register
|
||||||
class VirtualInterfaceList(base.ObjectListBase, base.NovaObject):
|
class VirtualInterfaceList(base.ObjectListBase, base.NovaObject):
|
||||||
# Version 1.0: Initial version
|
# Version 1.0: Initial version
|
||||||
VERSION = '1.0'
|
VERSION = '1.0'
|
||||||
|
|||||||
@@ -1283,6 +1283,15 @@ class TestObjectVersions(test.NoDBTestCase):
|
|||||||
'versions have been bumped, and then update their '
|
'versions have been bumped, and then update their '
|
||||||
'hashes here.')
|
'hashes here.')
|
||||||
|
|
||||||
|
def test_registry_matches_metaclass(self):
|
||||||
|
reference = set(object_data.keys())
|
||||||
|
actual = set(base.NovaObjectRegistry.classes)
|
||||||
|
test_objects = set(['MyObj', 'MyOwnedObject', 'TestSubclassedObject'])
|
||||||
|
# NOTE(danms): In the new registry, we don't implicitly track test
|
||||||
|
# objects, so make sure that the difference between the metaclass and
|
||||||
|
# the opt-in registry is the set of test objects.
|
||||||
|
self.assertEqual(test_objects, reference.symmetric_difference(actual))
|
||||||
|
|
||||||
def _get_object_field_name(self, field):
|
def _get_object_field_name(self, field):
|
||||||
if isinstance(field._type, fields.Object):
|
if isinstance(field._type, fields.Object):
|
||||||
return field._type._obj_name
|
return field._type._obj_name
|
||||||
|
|||||||
Reference in New Issue
Block a user