nova/nova/objects
Dan Smith 7b29a5cf9e Warn the user about orphaned extra records during keypair migration
Operators who have manually deleted Instance records with FK constraints
disabled may have orphaned InstanceExtra records which will prevent the
keypair migration from running. Normally, this violation of the data
model would be something that earns no sympathy. However, that solution
was (incorrectly) offered up as a workaround in bug 1511466 and multiple
deployments have broken their data as a result. Since the experience
is a unhelpful error message and a blocked migration, this patch attempts
to at least highlight the problem, even though it is on the operator to
actually fix the problem.

Change-Id: I0c8bf2c495a98c412eb93e19f832948a779bca11
Related-Bug: #1684861
(cherry picked from commit 2cee5bb4d1)
2017-05-08 16:25:57 +00:00
..
__init__.py Move notification related code to separate package 2016-06-08 11:32:53 +02:00
agent.py Remove obj_relationships from objects 2015-10-30 00:22:23 +00:00
aggregate.py Address feedback on cell-aggregate-api-db patches 2016-08-01 11:46:59 -07:00
bandwidth_usage.py Cleanup NovaObjectDictCompat from BandwidthUsage 2016-04-04 10:26:55 +00:00
base.py Do not register notification objects 2016-06-08 11:32:53 +02:00
block_device.py Add tag column to vifs and bdm 2016-04-01 08:46:54 -07:00
build_request.py Provide an online data migration to cleanup orphaned build requests 2017-01-03 19:16:16 -05:00
cell_mapping.py Add CellMappingList object 2016-06-17 11:27:29 -04:00
compute_node.py Fix comment for version 1.15 ComputeNodeList 2016-07-01 10:33:11 +08:00
dns_domain.py Remove DictCompat from DNSDomain 2016-01-11 16:38:06 +00:00
ec2.py Remove DictCompat from S3 object 2016-04-04 18:22:59 +00:00
external_event.py cleanup NovaObjectDictCompat from external_event 2015-08-26 17:01:02 +05:30
fields.py Removed enum duplication from nova.compute 2016-09-02 07:30:44 +00:00
fixed_ip.py Use version convert methods from oslo_utils.versionutils 2015-11-25 20:26:02 +08:00
flavor.py Don't overwrite MarkerNotFound error message 2016-07-11 15:24:51 -04:00
floating_ip.py Add new NeutronFloatingIP object 2016-04-08 14:50:38 +00:00
host_mapping.py Fix host mapping saving 2016-07-15 08:49:45 +03:00
hv_spec.py Use version convert methods from oslo_utils.versionutils 2015-11-25 20:26:02 +08:00
image_meta.py image_meta: Add hw_rescue_device and hw_rescue_bus 2016-06-24 21:46:03 +01:00
instance.py Warn the user about orphaned extra records during keypair migration 2017-05-08 16:25:57 +00:00
instance_action.py Remove obj_relationships from objects 2015-10-30 00:22:23 +00:00
instance_fault.py Remove obj_relationships from objects 2015-10-30 00:22:23 +00:00
instance_group.py Add online migration to move instance groups to API database 2016-08-22 03:50:24 -07:00
instance_info_cache.py Remove DictCompat from instance_info_cache 2016-06-13 18:31:45 +00:00
instance_mapping.py Instance mapping save, properly load cell mapping 2016-05-09 09:39:18 -05:00
instance_numa_topology.py Save all instance extras in a single db call 2016-05-25 12:23:03 +02:00
instance_pci_requests.py pci: Deprecate is_new from pci requests 2016-06-21 13:19:57 +03:00
keypair.py 'limit' and 'marker' support for db_api and keypair_obj 2016-07-12 14:25:33 +03:00
migrate_data.py Hyper-V: update live migrate data object 2016-08-22 12:46:16 +03:00
migration.py Add new APIs and deprecate old API for migrations 2016-02-26 14:25:48 +00:00
migration_context.py pci: Move PCI devices and PCI requests into migration context 2016-06-03 02:09:33 +03:00
monitor_metric.py Fix MonitorMetric obj_make_compatible 2016-09-12 14:10:41 +00:00
network.py Remove deprecated configuration option network_device_mtu 2016-09-07 12:31:57 +00:00
network_request.py Merge "Remove DictCompat from NetworkRequest" 2016-06-30 10:23:36 +00:00
numa.py Fixed indentation 2016-08-31 18:02:02 +02:00
pci_device.py Fix binary name used in the pci device online migration check 2016-10-05 12:54:22 -07:00
pci_device_pool.py Merge "Return empty PciDevicePoolList obj instead of None" 2015-11-27 19:26:08 +00:00
quotas.py cleanup NovaObjectDictCompat from quota 2015-08-20 18:48:21 +00:00
request_spec.py Add requested_destination field to RequestSpec 2016-05-27 10:14:51 +02:00
resource_provider.py Merge "[placement] Enforce min_unit, max_unit and step_size" into stable/newton 2017-03-06 12:17:55 +00:00
security_group.py Remove DictCompat from SecurityGroup 2016-07-06 14:30:09 -04:00
security_group_rule.py Cleanup NovaObjectDictCompat from security_group_rule 2016-01-05 16:21:08 +00:00
service.py Add objects.ServiceList.get_all_computes_by_hv_type 2016-08-01 16:38:21 -04:00
tag.py Added server tags controller 2016-04-06 16:37:22 +03:00
task_log.py Remove obj_relationships from objects 2015-10-30 00:22:23 +00:00
vcpu_model.py Untie subobject versions 2015-11-10 15:56:14 +00:00
virt_cpu_topology.py cleanup NovaObjectDictCompat from virt_cpu_topology 2015-08-05 08:56:30 +05:30
virt_device_metadata.py objects: new InstanceDeviceMetadata object 2016-06-24 04:30:51 -04:00
virtual_interface.py Merge "trivial: comment about vif object address field" 2016-07-13 19:24:58 +00:00
volume_usage.py Add a VolumeUsage object 2015-08-23 18:45:38 +02:00