From c870873f7fbf0dec03a520f60423491cf9ecf64f Mon Sep 17 00:00:00 2001 From: Stephen Finucane Date: Thu, 27 Feb 2025 18:05:10 +0000 Subject: [PATCH] typing: "Import" objects mypy doesn't know that we dynamically register these: give it a helping hand. Change-Id: I73321f67766b67e00038fd8de744f95128c3e6cb Signed-off-by: Stephen Finucane --- nova/objects/__init__.py | 50 +++++++++++++++++++++++++++ nova/objects/aggregate.py | 5 +++ nova/objects/block_device.py | 12 +++++-- nova/objects/build_request.py | 5 +++ nova/objects/cell_mapping.py | 5 +++ nova/objects/compute_node.py | 5 +++ nova/objects/console_auth_token.py | 4 +++ nova/objects/diagnostics.py | 8 +++++ nova/objects/ec2.py | 12 +++++++ nova/objects/external_event.py | 6 ++++ nova/objects/flavor.py | 5 +++ nova/objects/host_mapping.py | 6 ++++ nova/objects/hv_spec.py | 4 +++ nova/objects/image_meta.py | 5 +++ nova/objects/instance.py | 8 +++++ nova/objects/instance_action.py | 7 ++++ nova/objects/instance_fault.py | 5 +++ nova/objects/instance_group.py | 5 +++ nova/objects/instance_info_cache.py | 4 +++ nova/objects/instance_mapping.py | 7 ++++ nova/objects/instance_numa.py | 5 +++ nova/objects/instance_pci_requests.py | 5 +++ nova/objects/keypair.py | 5 +++ nova/objects/migrate_data.py | 10 ++++++ nova/objects/migration.py | 6 ++++ nova/objects/migration_context.py | 4 +++ nova/objects/monitor_metric.py | 5 +++ nova/objects/network_metadata.py | 4 +++ nova/objects/network_request.py | 5 +++ nova/objects/numa.py | 7 ++++ nova/objects/pci_device.py | 6 ++++ nova/objects/pci_device_pool.py | 6 ++++ nova/objects/quotas.py | 10 ++++++ nova/objects/request_spec.py | 9 +++++ nova/objects/resource.py | 7 ++++ nova/objects/security_group.py | 6 ++++ nova/objects/selection.py | 4 +++ nova/objects/service.py | 6 ++++ nova/objects/share_mapping.py | 5 +++ nova/objects/tag.py | 5 +++ nova/objects/task_log.py | 5 +++ nova/objects/trusted_certs.py | 4 +++ nova/objects/vcpu_model.py | 5 +++ nova/objects/virt_cpu_topology.py | 4 +++ nova/objects/virt_device_metadata.py | 14 ++++++++ nova/objects/virtual_interface.py | 6 ++++ nova/objects/volume_usage.py | 4 +++ 47 files changed, 328 insertions(+), 2 deletions(-) diff --git a/nova/objects/__init__.py b/nova/objects/__init__.py index 4b51ea3e46..dc9c30cc38 100644 --- a/nova/objects/__init__.py +++ b/nova/objects/__init__.py @@ -19,6 +19,56 @@ # on this module automatically, pointing to the newest/latest version of # the object. +import typing as ty + +if ty.TYPE_CHECKING: + from nova.objects.aggregate import * # noqa + from nova.objects.block_device import * # noqa + from nova.objects.build_request import * # noqa + from nova.objects.cell_mapping import * # noqa + from nova.objects.compute_node import * # noqa + from nova.objects.diagnostics import * # noqa + from nova.objects.console_auth_token import * # noqa + from nova.objects.ec2 import * # noqa + from nova.objects.external_event import * # noqa + from nova.objects.flavor import * # noqa + from nova.objects.host_mapping import * # noqa + from nova.objects.hv_spec import * # noqa + from nova.objects.image_meta import * # noqa + from nova.objects.instance import * # noqa + from nova.objects.instance_action import * # noqa + from nova.objects.instance_fault import * # noqa + from nova.objects.instance_group import * # noqa + from nova.objects.instance_info_cache import * # noqa + from nova.objects.instance_mapping import * # noqa + from nova.objects.instance_numa import * # noqa + from nova.objects.instance_pci_requests import * # noqa + from nova.objects.keypair import * # noqa + from nova.objects.migrate_data import * # noqa + from nova.objects.virt_device_metadata import * # noqa + from nova.objects.migration import * # noqa + from nova.objects.migration_context import * # noqa + from nova.objects.monitor_metric import * # noqa + from nova.objects.network_metadata import * # noqa + from nova.objects.network_request import * # noqa + from nova.objects.numa import * # noqa + from nova.objects.pci_device import * # noqa + from nova.objects.pci_device_pool import * # noqa + from nova.objects.request_spec import * # noqa + from nova.objects.tag import * # noqa + from nova.objects.quotas import * # noqa + from nova.objects.resource import * # noqa + from nova.objects.security_group import * # noqa + from nova.objects.selection import * # noqa + from nova.objects.service import * # noqa + from nova.objects.task_log import * # noqa + from nova.objects.trusted_certs import * # noqa + from nova.objects.vcpu_model import * # noqa + from nova.objects.virt_cpu_topology import * # noqa + from nova.objects.virtual_interface import * # noqa + from nova.objects.volume_usage import * # noqa + from nova.objects.share_mapping import * # noqa + def register_all(): # NOTE(danms): You must make sure your object gets imported in this diff --git a/nova/objects/aggregate.py b/nova/objects/aggregate.py index 48286c588f..836e04aec9 100644 --- a/nova/objects/aggregate.py +++ b/nova/objects/aggregate.py @@ -31,6 +31,11 @@ LOG = logging.getLogger(__name__) DEPRECATED_FIELDS = ['deleted', 'deleted_at'] +__all__ = [ + 'Aggregate', + 'AggregateList', +] + @api_db_api.context_manager.reader def _aggregate_get_from_db(context, aggregate_id): diff --git a/nova/objects/block_device.py b/nova/objects/block_device.py index 22d2a222fb..b918dd6c1d 100644 --- a/nova/objects/block_device.py +++ b/nova/objects/block_device.py @@ -19,7 +19,7 @@ from oslo_serialization import jsonutils from oslo_utils import uuidutils from oslo_utils import versionutils -from nova import block_device +from nova import block_device as blockdev from nova.db.main import api as db from nova.db.main import models as db_models from nova import exception @@ -35,6 +35,14 @@ LOG = logging.getLogger(__name__) _BLOCK_DEVICE_OPTIONAL_JOINED_FIELD = ['instance'] BLOCK_DEVICE_OPTIONAL_ATTRS = _BLOCK_DEVICE_OPTIONAL_JOINED_FIELD +__all__ = [ + 'BLOCK_DEVICE_OPTIONAL_ATTRS', + 'BlockDeviceMapping', + 'BlockDeviceMappingList', + 'block_device_make_list', + 'block_device_make_list_from_dicts', +] + def _expected_cols(expected_attrs): return [attr for attr in expected_attrs @@ -347,7 +355,7 @@ class BlockDeviceMapping(base.NovaPersistentObject, base.NovaObject, fields.BlockDeviceDestinationType.LOCAL) def get_image_mapping(self): - return block_device.BlockDeviceDict(self).get_image_mapping() + return blockdev.BlockDeviceDict(self).get_image_mapping() @base.lazy_load_counter def obj_load_attr(self, attrname): diff --git a/nova/objects/build_request.py b/nova/objects/build_request.py index 9fa9237731..daba4767a5 100644 --- a/nova/objects/build_request.py +++ b/nova/objects/build_request.py @@ -28,6 +28,11 @@ from nova.objects import fields LOG = logging.getLogger(__name__) +__all__ = [ + 'BuildRequest', + 'BuildRequestList', +] + @base.NovaObjectRegistry.register class BuildRequest(base.NovaObject): diff --git a/nova/objects/cell_mapping.py b/nova/objects/cell_mapping.py index 1355182420..e7d9fdebb5 100644 --- a/nova/objects/cell_mapping.py +++ b/nova/objects/cell_mapping.py @@ -27,6 +27,11 @@ from nova.objects import fields CONF = nova.conf.CONF LOG = logging.getLogger(__name__) +__all__ = [ + 'CellMapping', + 'CellMappingList', +] + def _parse_netloc(netloc): """Parse a user:pass@host:port and return a dict suitable for formatting diff --git a/nova/objects/compute_node.py b/nova/objects/compute_node.py index dfc1b2ae28..47903d3bef 100644 --- a/nova/objects/compute_node.py +++ b/nova/objects/compute_node.py @@ -30,6 +30,11 @@ from nova.objects import pci_device_pool CONF = nova.conf.CONF +__all__ = [ + 'ComputeNode', + 'ComputeNodeList', +] + @base.NovaObjectRegistry.register class ComputeNode(base.NovaPersistentObject, base.NovaObject): diff --git a/nova/objects/console_auth_token.py b/nova/objects/console_auth_token.py index a1a58422e8..18f835cb78 100644 --- a/nova/objects/console_auth_token.py +++ b/nova/objects/console_auth_token.py @@ -32,6 +32,10 @@ from nova import utils LOG = logging.getLogger(__name__) +__all__ = [ + 'ConsoleAuthToken', +] + @base.NovaObjectRegistry.register class ConsoleAuthToken(base.NovaTimestampObject, base.NovaObject): diff --git a/nova/objects/diagnostics.py b/nova/objects/diagnostics.py index 0f2395793a..3013b38101 100644 --- a/nova/objects/diagnostics.py +++ b/nova/objects/diagnostics.py @@ -16,6 +16,14 @@ from nova.objects import base from nova.objects import fields +__all__ = [ + 'CpuDiagnostics', + 'Diagnostics', + 'DiskDiagnostics', + 'MemoryDiagnostics', + 'NicDiagnostics', +] + @base.NovaObjectRegistry.register class CpuDiagnostics(base.NovaObject): diff --git a/nova/objects/ec2.py b/nova/objects/ec2.py index 179a0e13d9..5d91cf48c6 100644 --- a/nova/objects/ec2.py +++ b/nova/objects/ec2.py @@ -27,6 +27,18 @@ from nova.objects import fields _CACHE_TIME = 7 * 24 * 60 * 60 _CACHE = None +__all__ = [ + 'EC2Ids', + 'EC2InstanceMapping', + 'S3ImageMapping', + 'get_int_id_from_instance_uuid', + 'glance_id_to_ec2_id', + 'glance_id_to_id', + 'glance_type_to_ec2_type', + 'id_to_ec2_id', + 'id_to_ec2_inst_id', +] + def memoize(func): @functools.wraps(func) diff --git a/nova/objects/external_event.py b/nova/objects/external_event.py index e17008dade..8b0efde0b8 100644 --- a/nova/objects/external_event.py +++ b/nova/objects/external_event.py @@ -15,6 +15,12 @@ from nova.objects import base as obj_base from nova.objects import fields +__all__ = [ + 'EVENT_NAMES', + 'EVENT_STATUSES', + 'InstanceExternalEvent', +] + EVENT_NAMES = [ # Network has changed for this instance, rebuild info_cache 'network-changed', diff --git a/nova/objects/flavor.py b/nova/objects/flavor.py index 8d3aa1d301..226b70ce05 100644 --- a/nova/objects/flavor.py +++ b/nova/objects/flavor.py @@ -39,6 +39,11 @@ DEPRECATED_FIELDS = ['deleted', 'deleted_at'] # Non-joined fields which can be updated. MUTABLE_FIELDS = set(['description']) +__all__ = [ + 'Flavor', + 'FlavorList', +] + CONF = nova.conf.CONF diff --git a/nova/objects/host_mapping.py b/nova/objects/host_mapping.py index c346cf3508..939e4cf007 100644 --- a/nova/objects/host_mapping.py +++ b/nova/objects/host_mapping.py @@ -22,6 +22,12 @@ from nova.objects import base from nova.objects import cell_mapping from nova.objects import fields +__all__ = [ + 'HostMapping', + 'HostMappingList', + 'discover_hosts', +] + def _cell_id_in_updates(updates): cell_mapping_obj = updates.pop("cell_mapping", None) diff --git a/nova/objects/hv_spec.py b/nova/objects/hv_spec.py index 454f74396a..56a53f7a0e 100644 --- a/nova/objects/hv_spec.py +++ b/nova/objects/hv_spec.py @@ -18,6 +18,10 @@ from oslo_utils import versionutils from nova.objects import base from nova.objects import fields +__all__ = [ + 'HVSpec', +] + @base.NovaObjectRegistry.register class HVSpec(base.NovaObject): diff --git a/nova/objects/image_meta.py b/nova/objects/image_meta.py index caa9c0f8b9..a8955b25dc 100644 --- a/nova/objects/image_meta.py +++ b/nova/objects/image_meta.py @@ -28,6 +28,11 @@ NULLABLE_STRING_FIELDS = ['name', 'checksum', 'owner', 'container_format', 'disk_format'] NULLABLE_INTEGER_FIELDS = ['size', 'virtual_size'] +__all__ = [ + 'ImageMeta', + 'ImageMetaProps', +] + @base.NovaObjectRegistry.register class ImageMeta(base.NovaObject): diff --git a/nova/objects/instance.py b/nova/objects/instance.py index b387b8e0fe..e16528bffa 100644 --- a/nova/objects/instance.py +++ b/nova/objects/instance.py @@ -66,6 +66,14 @@ _MIGRATION_CONTEXT_ATTRS = ['numa_topology', 'pci_requests', INSTANCE_OPTIONAL_ATTRS = (_INSTANCE_OPTIONAL_JOINED_FIELDS + _INSTANCE_OPTIONAL_NON_COLUMN_FIELDS + _INSTANCE_EXTRA_FIELDS) + +__all__ = [ + 'Instance', + 'InstanceList', + 'populate_instance_compute_id', + 'populate_missing_availability_zones', +] + # These are fields that most query calls load by default INSTANCE_DEFAULT_FIELDS = ['metadata', 'system_metadata', 'info_cache', 'security_groups'] diff --git a/nova/objects/instance_action.py b/nova/objects/instance_action.py index d5adb6fa2f..93cc53320a 100644 --- a/nova/objects/instance_action.py +++ b/nova/objects/instance_action.py @@ -22,6 +22,13 @@ from nova import objects from nova.objects import base from nova.objects import fields +__all__ = [ + 'InstanceAction', + 'InstanceActionEvent', + 'InstanceActionEventList', + 'InstanceActionList', +] + # TODO(berrange): Remove NovaObjectDictCompat @base.NovaObjectRegistry.register diff --git a/nova/objects/instance_fault.py b/nova/objects/instance_fault.py index 6d69e13ceb..d4961e742c 100644 --- a/nova/objects/instance_fault.py +++ b/nova/objects/instance_fault.py @@ -25,6 +25,11 @@ from nova.objects import fields LOG = logging.getLogger(__name__) +__all__ = [ + 'InstanceFault', + 'InstanceFaultList', +] + # TODO(berrange): Remove NovaObjectDictCompat @base.NovaObjectRegistry.register diff --git a/nova/objects/instance_group.py b/nova/objects/instance_group.py index 8a12a87693..e1156196a6 100644 --- a/nova/objects/instance_group.py +++ b/nova/objects/instance_group.py @@ -33,6 +33,11 @@ from nova.objects import fields LAZY_LOAD_FIELDS = ['hosts'] LOG = logging.getLogger(__name__) +__all__ = [ + 'InstanceGroup', + 'InstanceGroupList', +] + def _instance_group_get_query(context, id_field=None, id=None): query = context.session.query(api_models.InstanceGroup).\ diff --git a/nova/objects/instance_info_cache.py b/nova/objects/instance_info_cache.py index 506eb897c1..39934e8f7f 100644 --- a/nova/objects/instance_info_cache.py +++ b/nova/objects/instance_info_cache.py @@ -22,6 +22,10 @@ from nova.objects import fields LOG = logging.getLogger(__name__) +__all__ = [ + 'InstanceInfoCache', +] + @base.NovaObjectRegistry.register class InstanceInfoCache(base.NovaPersistentObject, base.NovaObject): diff --git a/nova/objects/instance_mapping.py b/nova/objects/instance_mapping.py index 3b5f331dbc..5c6b30db18 100644 --- a/nova/objects/instance_mapping.py +++ b/nova/objects/instance_mapping.py @@ -33,6 +33,13 @@ from nova.objects import virtual_interface LOG = logging.getLogger(__name__) +__all__ = [ + 'InstanceMapping', + 'InstanceMappingList', + 'populate_queued_for_delete', + 'populate_user_id', +] + @base.NovaObjectRegistry.register class InstanceMapping(base.NovaTimestampObject, base.NovaObject): diff --git a/nova/objects/instance_numa.py b/nova/objects/instance_numa.py index b1a388443f..1b2e36d69a 100644 --- a/nova/objects/instance_numa.py +++ b/nova/objects/instance_numa.py @@ -26,6 +26,11 @@ from nova.virt import hardware LOG = logging.getLogger(__name__) +__all__ = [ + 'InstanceNUMACell', + 'InstanceNUMATopology', +] + # TODO(berrange): Remove NovaObjectDictCompat @base.NovaObjectRegistry.register diff --git a/nova/objects/instance_pci_requests.py b/nova/objects/instance_pci_requests.py index 090d071500..e72ec185d4 100644 --- a/nova/objects/instance_pci_requests.py +++ b/nova/objects/instance_pci_requests.py @@ -17,6 +17,11 @@ from nova.db.main import api as db from nova.objects import base from nova.objects import fields +__all__ = [ + 'InstancePCIRequest', + 'InstancePCIRequests', +] + @base.NovaObjectRegistry.register class InstancePCIRequest(base.NovaObject): diff --git a/nova/objects/keypair.py b/nova/objects/keypair.py index f2d62eea62..f61a02e351 100644 --- a/nova/objects/keypair.py +++ b/nova/objects/keypair.py @@ -28,6 +28,11 @@ KEYPAIR_TYPE_SSH = 'ssh' KEYPAIR_TYPE_X509 = 'x509' LOG = logging.getLogger(__name__) +__all__ = [ + 'KeyPair', + 'KeyPairList', +] + @api_db_api.context_manager.reader def _get_from_db(context, user_id, name=None, limit=None, marker=None): diff --git a/nova/objects/migrate_data.py b/nova/objects/migrate_data.py index 1340c34d97..a42d1dbc6c 100644 --- a/nova/objects/migrate_data.py +++ b/nova/objects/migrate_data.py @@ -25,6 +25,16 @@ from nova.objects import fields LOG = log.getLogger(__name__) OS_VIF_DELEGATION = 'os_vif_delegation' +__all__ = [ + 'HyperVLiveMigrateData', + 'LibvirtLiveMigrateBDMInfo', + 'LibvirtLiveMigrateData', + 'LibvirtLiveMigrateNUMAInfo', + 'LiveMigrateData', + 'VIFMigrateData', + 'VMwareLiveMigrateData', +] + @obj_base.NovaObjectRegistry.register class VIFMigrateData(obj_base.NovaObject): diff --git a/nova/objects/migration.py b/nova/objects/migration.py index 3e87536b38..3a06e8ea3a 100644 --- a/nova/objects/migration.py +++ b/nova/objects/migration.py @@ -27,6 +27,12 @@ from nova.objects import fields LOG = logging.getLogger(__name__) +__all__ = [ + 'Migration', + 'MigrationList', + 'determine_migration_type', +] + def determine_migration_type(migration): if isinstance(migration, dict): diff --git a/nova/objects/migration_context.py b/nova/objects/migration_context.py index c00e471b0e..d779117564 100644 --- a/nova/objects/migration_context.py +++ b/nova/objects/migration_context.py @@ -24,6 +24,10 @@ from nova.objects import fields LOG = logging.getLogger(__name__) +__all__ = [ + 'MigrationContext', +] + @base.NovaObjectRegistry.register class MigrationContext(base.NovaPersistentObject, base.NovaObject): diff --git a/nova/objects/monitor_metric.py b/nova/objects/monitor_metric.py index 68a3f033a6..1ae6165407 100644 --- a/nova/objects/monitor_metric.py +++ b/nova/objects/monitor_metric.py @@ -27,6 +27,11 @@ FIELDS_REQUIRING_CONVERSION = [fields.MonitorMetricType.CPU_USER_PERCENT, fields.MonitorMetricType.CPU_IOWAIT_PERCENT, fields.MonitorMetricType.CPU_PERCENT] +__all__ = [ + 'MonitorMetric', + 'MonitorMetricList', +] + @base.NovaObjectRegistry.register class MonitorMetric(base.NovaObject): diff --git a/nova/objects/network_metadata.py b/nova/objects/network_metadata.py index 5a8913e5bb..1b4c4f3e66 100644 --- a/nova/objects/network_metadata.py +++ b/nova/objects/network_metadata.py @@ -15,6 +15,10 @@ from nova.objects import base from nova.objects import fields +__all__ = [ + 'NetworkMetadata', +] + @base.NovaObjectRegistry.register class NetworkMetadata(base.NovaObject): diff --git a/nova/objects/network_request.py b/nova/objects/network_request.py index 372f3cf694..590f550965 100644 --- a/nova/objects/network_request.py +++ b/nova/objects/network_request.py @@ -25,6 +25,11 @@ from nova.objects import fields NETWORK_ID_NONE = 'none' NETWORK_ID_AUTO = 'auto' +__all__ = [ + 'NetworkRequest', + 'NetworkRequestList', +] + @obj_base.NovaObjectRegistry.register class NetworkRequest(obj_base.NovaObject): diff --git a/nova/objects/numa.py b/nova/objects/numa.py index 36f51201b0..8cb43e1fe8 100644 --- a/nova/objects/numa.py +++ b/nova/objects/numa.py @@ -20,6 +20,13 @@ from nova.objects import base from nova.objects import fields as obj_fields from nova.virt import hardware +__all__ = [ + 'NUMACell', + 'NUMAPagesTopology', + 'NUMATopology', + 'NUMATopologyLimits', +] + @base.NovaObjectRegistry.register class NUMACell(base.NovaObject): diff --git a/nova/objects/pci_device.py b/nova/objects/pci_device.py index 4988ff6aeb..7429f3a85a 100644 --- a/nova/objects/pci_device.py +++ b/nova/objects/pci_device.py @@ -31,6 +31,12 @@ from nova.objects import fields LOG = logging.getLogger(__name__) +__all__ = [ + 'PciDevice', + 'PciDeviceList', + 'compare_pci_device_attributes', +] + def compare_pci_device_attributes(obj_a, obj_b): if not isinstance(obj_b, PciDevice): diff --git a/nova/objects/pci_device_pool.py b/nova/objects/pci_device_pool.py index cfd8a6a915..2f33fe2928 100644 --- a/nova/objects/pci_device_pool.py +++ b/nova/objects/pci_device_pool.py @@ -22,6 +22,12 @@ from nova import objects from nova.objects import base from nova.objects import fields +__all__ = [ + 'PciDevicePool', + 'PciDevicePoolList', + 'from_pci_stats', +] + @base.NovaObjectRegistry.register class PciDevicePool(base.NovaObject): diff --git a/nova/objects/quotas.py b/nova/objects/quotas.py index dc3a65ce9f..e492cfdf0d 100644 --- a/nova/objects/quotas.py +++ b/nova/objects/quotas.py @@ -26,6 +26,16 @@ from nova.objects import base from nova.objects import fields from nova import quota +__all__ = [ + 'Quotas', + 'QuotasNoOp', + 'ids_from_instance', + 'ids_from_security_group', + 'ids_from_server_group', + 'migrate_quota_classes_to_api_db', + 'migrate_quota_limits_to_api_db', +] + def ids_from_instance(context, instance): if (context.is_admin and diff --git a/nova/objects/request_spec.py b/nova/objects/request_spec.py index f068a212e4..7150bd44fd 100644 --- a/nova/objects/request_spec.py +++ b/nova/objects/request_spec.py @@ -41,6 +41,15 @@ REQUEST_SPEC_OPTIONAL_ATTRS = ['requested_destination', 'request_level_params', 'requested_networks'] +__all__ = [ + 'Destination', + 'RequestGroup', + 'RequestLevelParams', + 'RequestSpec', + 'SchedulerLimits', + 'SchedulerRetries', +] + @base.NovaObjectRegistry.register class RequestSpec(base.NovaObject): diff --git a/nova/objects/resource.py b/nova/objects/resource.py index 69a7c951a3..1e9036daec 100644 --- a/nova/objects/resource.py +++ b/nova/objects/resource.py @@ -18,6 +18,13 @@ from nova.db.main import api as db from nova.objects import base from nova.objects import fields +__all__ = [ + 'LibvirtVPMEMDevice', + 'Resource', + 'ResourceList', + 'ResourceMetadata', +] + @base.NovaObjectRegistry.register class ResourceMetadata(base.NovaObject): diff --git a/nova/objects/security_group.py b/nova/objects/security_group.py index d0f2237ceb..85853daec0 100644 --- a/nova/objects/security_group.py +++ b/nova/objects/security_group.py @@ -24,6 +24,12 @@ from nova import objects from nova.objects import base from nova.objects import fields +__all__ = [ + 'SecurityGroup', + 'SecurityGroupList', + 'make_secgroup_list', +] + @base.NovaObjectRegistry.register class SecurityGroup(base.NovaPersistentObject, base.NovaObject): diff --git a/nova/objects/selection.py b/nova/objects/selection.py index a5ba5c2734..0bc8a4d6ca 100644 --- a/nova/objects/selection.py +++ b/nova/objects/selection.py @@ -24,6 +24,10 @@ from nova.scheduler.filters import utils as filter_utils CONF = conf.CONF +__all__ = [ + 'Selection', +] + @base.NovaObjectRegistry.register class Selection(base.NovaObject, ovo_base.ComparableVersionedObject): diff --git a/nova/objects/service.py b/nova/objects/service.py index 30ada7b97f..ba1dcd30b0 100644 --- a/nova/objects/service.py +++ b/nova/objects/service.py @@ -29,6 +29,12 @@ from nova.objects import fields LOG = logging.getLogger(__name__) +__all__ = [ + 'Service', + 'ServiceList', + 'get_minimum_version_all_cells', +] + # NOTE(danms): This is the global service version counter SERVICE_VERSION = 70 diff --git a/nova/objects/share_mapping.py b/nova/objects/share_mapping.py index d0d8276094..a3751b4b84 100644 --- a/nova/objects/share_mapping.py +++ b/nova/objects/share_mapping.py @@ -30,6 +30,11 @@ EPHEMERAL_FIELDS = [ "access_key", ] +__all__ = [ + 'ShareMapping', + 'ShareMappingList', +] + @base.NovaObjectRegistry.register class ShareMapping(base.NovaTimestampObject, base.NovaObject): diff --git a/nova/objects/tag.py b/nova/objects/tag.py index 2511d45d4b..acad70e1c7 100644 --- a/nova/objects/tag.py +++ b/nova/objects/tag.py @@ -17,6 +17,11 @@ from nova.objects import fields MAX_TAG_LENGTH = 60 +__all__ = [ + 'Tag', + 'TagList', +] + @base.NovaObjectRegistry.register class Tag(base.NovaObject): diff --git a/nova/objects/task_log.py b/nova/objects/task_log.py index 42d6b025e0..34acbfdeca 100644 --- a/nova/objects/task_log.py +++ b/nova/objects/task_log.py @@ -14,6 +14,11 @@ from nova.db.main import api as db from nova.objects import base from nova.objects import fields +__all__ = [ + 'TaskLog', + 'TaskLogList', +] + @base.NovaObjectRegistry.register class TaskLog(base.NovaPersistentObject, base.NovaObject): diff --git a/nova/objects/trusted_certs.py b/nova/objects/trusted_certs.py index 856ca3feb6..91e8accfc5 100644 --- a/nova/objects/trusted_certs.py +++ b/nova/objects/trusted_certs.py @@ -16,6 +16,10 @@ from nova.db.main import api as db from nova.objects import base from nova.objects import fields +__all__ = [ + 'TrustedCerts', +] + @base.NovaObjectRegistry.register class TrustedCerts(base.NovaObject): diff --git a/nova/objects/vcpu_model.py b/nova/objects/vcpu_model.py index 078f7b6c9e..d4bdce7a0c 100644 --- a/nova/objects/vcpu_model.py +++ b/nova/objects/vcpu_model.py @@ -16,6 +16,11 @@ from nova.db.main import api as db from nova.objects import base from nova.objects import fields +__all__ = [ + 'VirtCPUFeature', + 'VirtCPUModel', +] + @base.NovaObjectRegistry.register class VirtCPUModel(base.NovaObject): diff --git a/nova/objects/virt_cpu_topology.py b/nova/objects/virt_cpu_topology.py index bb74c0dc87..5f4d90e04e 100644 --- a/nova/objects/virt_cpu_topology.py +++ b/nova/objects/virt_cpu_topology.py @@ -13,6 +13,10 @@ from nova.objects import base from nova.objects import fields +__all__ = [ + 'VirtCPUTopology', +] + @base.NovaObjectRegistry.register class VirtCPUTopology(base.NovaObject): diff --git a/nova/objects/virt_device_metadata.py b/nova/objects/virt_device_metadata.py index 870c47e533..9af893ece2 100644 --- a/nova/objects/virt_device_metadata.py +++ b/nova/objects/virt_device_metadata.py @@ -19,6 +19,20 @@ from nova.db.main import api as db from nova.objects import base from nova.objects import fields +__all__ = [ + 'DeviceBus', + 'DeviceMetadata', + 'DiskMetadata', + 'IDEDeviceBus', + 'InstanceDeviceMetadata', + 'NetworkInterfaceMetadata', + 'PCIDeviceBus', + 'SCSIDeviceBus', + 'ShareMetadata', + 'USBDeviceBus', + 'XenDeviceBus', +] + @base.NovaObjectRegistry.register class DeviceBus(base.NovaObject): diff --git a/nova/objects/virtual_interface.py b/nova/objects/virtual_interface.py index eac3ea84ac..0def904907 100644 --- a/nova/objects/virtual_interface.py +++ b/nova/objects/virtual_interface.py @@ -26,6 +26,12 @@ from nova.objects import fields LOG = logging.getLogger(__name__) +__all__ = [ + 'VirtualInterface', + 'VirtualInterfaceList', + 'fill_virtual_interface_list', +] + VIF_OPTIONAL_FIELDS = ['network_id'] FAKE_UUID = '00000000-0000-0000-0000-000000000000' diff --git a/nova/objects/volume_usage.py b/nova/objects/volume_usage.py index 6771dddd10..9d8e680fac 100644 --- a/nova/objects/volume_usage.py +++ b/nova/objects/volume_usage.py @@ -14,6 +14,10 @@ from nova.db.main import api as db from nova.objects import base from nova.objects import fields +__all__ = [ + 'VolumeUsage', +] + @base.NovaObjectRegistry.register class VolumeUsage(base.NovaPersistentObject, base.NovaObject):