nova/nova/objects
melanie witt 11fde850e6 Don't generate service UUID for deleted services
In Pike, we added a UUID field to services and during an upgrade from
Ocata => Pike, when instances are accessed joined with their associated
services, we generate a UUID for the services on-the-fly.

This causes a problem in the scenario where an operator upgrades their
cluster and has old, deleted services with hostnames matching existing
services associated with instances. When we go to generate the service
UUID for the old, deleted service, we hit a ServiceTooOld exception.

This addresses the problem by not bothering to generate a UUID for a
deleted service. One alternative would be to exclude deleted services
when we join the 'instances' and 'services' tables, but I'm not sure
whether that approach might cause unintended effects where service
information that used to be viewable for instances becomes hidden.

Closes-Bug: #1778305
Closes-Bug: #1764556

Change-Id: I347096a527c257075cefe7b81210622f6cd87daf
(cherry picked from commit 16e163053c)
2019-08-07 21:04:07 +00:00
..
__init__.py network: Always retrieve network information if available 2018-07-03 16:50:06 +01:00
agent.py Use nova.db.api directly 2018-07-10 14:56:27 +00:00
aggregate.py Transform aggregate.update_prop notification 2018-07-15 23:36:31 +09:00
bandwidth_usage.py Use nova.db.api directly 2018-07-10 14:56:27 +00:00
base.py [placement] Object changes to support last-modified headers 2017-12-07 18:47:17 +00:00
block_device.py Add volume_type field to BlockDeviceMapping object 2018-09-28 03:29:24 -04:00
build_request.py Fix incompatible version handling in BuildRequest 2019-01-17 08:18:20 +00:00
cell_mapping.py Fix using template cell urls with nova-manage 2019-01-17 14:18:14 -08:00
compute_node.py Fix ComputeNode ovo compatibility code 2019-01-25 14:17:59 +00:00
console_auth_token.py Add 'path' query parameter to console access url 2019-07-16 08:51:18 +01:00
diagnostics.py Added nova objects for intance diagnostics 2017-05-30 00:39:44 +04:00
dns_domain.py Use nova.db.api directly 2018-07-10 14:56:27 +00:00
ec2.py Use nova.db.api directly 2018-07-10 14:56:27 +00:00
external_event.py Add ability to signal and perform online volume size change 2017-07-12 11:53:20 -04:00
fields.py Extend RequestGroup object for mapping 2019-02-07 20:06:51 -05:00
fixed_ip.py Use nova.db.api directly 2018-07-10 14:56:27 +00:00
flavor.py Merge "Remove old flavor_create db api method" 2018-03-20 18:11:06 +00:00
floating_ip.py Use nova.db.api directly 2018-07-10 14:56:27 +00:00
host_mapping.py Add --by-service to discover_hosts 2018-03-16 15:55:19 -07:00
hv_spec.py objects: Move 'hv_type' to 'fields.HVType' 2016-11-25 16:19:43 +00:00
image_meta.py Add HPET timer support for x86 guests 2018-11-20 22:39:37 +00:00
instance.py Check hosts have no instances for AZ rename 2019-03-01 12:25:16 -05:00
instance_action.py Use nova.db.api directly 2018-07-10 14:56:27 +00:00
instance_fault.py Use nova.db.api directly 2018-07-10 14:56:27 +00:00
instance_group.py Avoid unnecessary joins in InstanceGroup.get_hosts 2019-06-10 15:15:23 +00:00
instance_info_cache.py Use nova.db.api directly 2018-07-10 14:56:27 +00:00
instance_mapping.py Add online data migration for populating user_id 2019-03-08 19:01:41 -05:00
instance_numa_topology.py Use nova.db.api directly 2018-07-10 14:56:27 +00:00
instance_pci_requests.py objects: Store InstancePCIRequest.numa_policy in DB 2019-03-06 11:02:02 +00:00
keypair.py Use nova.db.api directly 2018-07-10 14:56:27 +00:00
migrate_data.py Remove _legacy_dict methods 2019-02-22 13:28:11 -05:00
migration.py Revert resize: wait for events according to hybrid plug 2019-07-12 19:16:28 -04:00
migration_context.py Move get_pci_mapping_for_migration to MigrationContext 2019-05-26 18:40:28 +03:00
monitor_metric.py Fix MonitorMetric obj_make_compatible 2016-09-12 14:10:41 +00:00
network.py Use nova.db.api directly 2018-07-10 14:56:27 +00:00
network_metadata.py Assorted cleanups from numa-aware-vswitches series 2018-07-27 09:49:12 -07:00
network_request.py Merge "Remove DictCompat from NetworkRequest" 2016-06-30 10:23:36 +00:00
numa.py Fix overcommit for NUMA-based instances 2019-01-16 11:50:14 +00:00
pci_device.py Use nova.db.api directly 2018-07-10 14:56:27 +00:00
pci_device_pool.py [2/3]Replace six.iteritems() with .items() 2017-01-09 09:11:00 +00:00
quotas.py Use nova.db.api directly 2018-07-10 14:56:27 +00:00
request_spec.py Workaround missing RequestSpec.instance_group.uuid 2019-06-03 20:55:19 -04:00
security_group.py Use nova.db.api directly 2018-07-10 14:56:27 +00:00
security_group_rule.py Use nova.db.api directly 2018-07-10 14:56:27 +00:00
selection.py Move the to_dict() method to the Selection object 2017-12-07 15:01:09 +00:00
service.py Don't generate service UUID for deleted services 2019-08-07 21:04:07 +00:00
tag.py Use nova.db.api directly 2018-07-10 14:56:27 +00:00
task_log.py Use nova.db.api directly 2018-07-10 14:56:27 +00:00
trusted_certs.py Use nova.db.api directly 2018-07-10 14:56:27 +00:00
vcpu_model.py Use nova.db.api directly 2018-07-10 14:56:27 +00:00
virt_cpu_topology.py cleanup NovaObjectDictCompat from virt_cpu_topology 2015-08-05 08:56:30 +05:30
virt_device_metadata.py Use nova.db.api directly 2018-07-10 14:56:27 +00:00
virtual_interface.py Populate InstanceMapping.user_id during migrations and schedules 2019-03-08 19:01:25 -05:00
volume_usage.py Transform volume.usage notification 2018-10-09 06:28:11 +00:00