nova/nova/objects
Dan Smith ddef9dcfc0 Resource tracker compatibility with Ocata and Pike
Because we need to allow for a smooth upgrade from Ocata to
Pike, we need Pike compute hosts to be tolerant of the bad accounting
assumptions that Ocata compute hosts were making. If a user migrates an
instance from an Ocata compute host to a Pike compute host, the Ocata
compute host will continue essentially re-setting the instance
allocation to be an allocation against only the source Ocata host
(during the migration operation). We need to have the Pike destination
compute host recognize when its in a mixed Ocata/Pike environment and
tolerate this incorrect "healing" that the Ocata source host will do.
To tolerate this, the Pike destination compute host must continue to
behave like an Ocata compute host until all compute hosts are upgraded
to Pike or beyond.

Note that this adds service version caching for the compute service.
We were already doing the lookup for the RPC pin and caching that,
so this is not much of a change. Also note that we weren't clearing
this caching in tests, so any test that ran code that cached the
service version would affect later ones. This clears it as part of the
base test setup too.

Co-Authored-By: Jay Pipes <jaypipes@gmail.com>
Change-Id: Ia93168b1560267178059284186fb2b7096c7e81f
2017-08-10 09:47:20 -04:00
..
__init__.py Added nova objects for intance diagnostics 2017-05-30 00:39:44 +04:00
agent.py Remove obj_relationships from objects 2015-10-30 00:22:23 +00:00
aggregate.py Remove aggregate uuid generation on load from DB 2017-04-10 18:16:01 -04:00
bandwidth_usage.py Cleanup NovaObjectDictCompat from BandwidthUsage 2016-04-04 10:26:55 +00:00
base.py [2/3]Replace six.iteritems() with .items() 2017-01-09 09:11:00 +00:00
block_device.py objects: Add attachment_id to BlockDeviceMapping 2017-03-16 16:35:01 -04:00
build_request.py Support tag instances when boot(4/4) 2017-07-17 15:59:42 -04:00
cell_mapping.py Sort CellMappingList.get_all() for safety 2017-04-24 12:00:22 -07:00
compute_node.py objects: add ComputeNode.get_by_uuid method 2017-05-04 13:57:02 -04:00
diagnostics.py Added nova objects for intance diagnostics 2017-05-30 00:39:44 +04: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 Add ability to signal and perform online volume size change 2017-07-12 11:53:20 -04:00
fields.py Use PCIAddressField in oslo.versionedobjects 2017-07-11 01:03:16 +00:00
fixed_ip.py Add FixedIPList.get_count_by_project() 2017-06-19 21:51:46 +00:00
flavor.py Don't lazy-load flavor.projects during destroy() 2017-05-02 13:45:03 -04:00
floating_ip.py Add FloatingIPList.get_count_by_project() 2017-06-19 21:51:46 +00:00
host_mapping.py Move to proper target_cell calling convention 2017-05-23 08:12:42 -07:00
hv_spec.py objects: Move 'hv_type' to 'fields.HVType' 2016-11-25 16:19:43 +00:00
image_meta.py Add `img_hide_hypervisor_id` image property 2017-05-29 16:03:43 +00:00
instance.py Count instances to check quota 2017-07-18 17:31:15 +00:00
instance_action.py Remove obj_relationships from objects 2015-10-30 00:22:23 +00:00
instance_fault.py Only return latest instance fault for instances 2016-12-14 19:25:05 +02:00
instance_group.py Add InstanceGroup._remove_members_in_db 2017-06-08 21:01:08 +00:00
instance_info_cache.py Remove DictCompat from instance_info_cache 2016-06-13 18:31:45 +00:00
instance_mapping.py Add get_by_instance_uuids() to InstanceMappingList 2017-04-06 10:57:06 -07:00
instance_numa_topology.py Merge "objects: remove cpu_topology from __init__ of InstanceNUMATopology" 2017-05-17 12:53:41 +00:00
instance_pci_requests.py pci: Deprecate is_new from pci requests 2016-06-21 13:19:57 +03:00
keypair.py Use pick_context_manager throughout DB APIs 2016-11-18 17:15:51 +00:00
migrate_data.py Fix live migrate with XenServer 2017-02-16 14:02:35 +00:00
migration.py Fix missing marker functions 2017-06-05 00:45:50 +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 Mark sibling CPUs as 'used' for cpu_thread_policy = 'isolated' 2016-12-13 11:23:07 +04:00
pci_device.py pci: add uuid field to PciDevice object 2017-06-11 12:56:48 -04:00
pci_device_pool.py [2/3]Replace six.iteritems() with .items() 2017-01-09 09:11:00 +00:00
quotas.py Add online migration to move quotas to API database 2017-07-24 18:36:46 -04:00
request_spec.py _schedule_instances() supporting a RequestSpec object 2017-06-22 14:29:31 +02:00
resource_provider.py Merge "placement: filtering the resource provider id when delete trait association" 2017-08-08 14:43:02 +00:00
security_group.py Add SecurityGroupList.get_counts() 2017-06-19 21:51:46 +00:00
security_group_rule.py Cleanup NovaObjectDictCompat from security_group_rule 2016-01-05 16:21:08 +00:00
service.py Resource tracker compatibility with Ocata and Pike 2017-08-10 09:47:20 -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 XenAPI: device tagging 2017-06-14 01:53:06 +00: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