nova/nova/objects
Matt Riedemann b00b2fe9be Raise MarkerNotFound if BuildRequestList.get_by_filters doesn't find marker
For some reason, probably because build requests are meant to be short lived
and we don't get a lot of bugs about paging misbehavior, when paging instances
with a marker, we didn't raise MarkerNotFound if we didn't find the marker in
the list of build requests. Doing so would match what we do when paging over
cells and listing instances using a marker. Once we find the marker, be that
in build_requests, or one of the cells, we need to set the marker to None to
stop looking for it elsewhere if we have more space to fill our limit.

For example, see change I8a957bebfcecd6ac712103c346e028d80f1ecd7c.

This patch fixes the issue by raising MarkerNotFound from BuildRequestList
get_by_filters if there is a marker and we didn't find a build request for
it. The compute API get_all() method handles that as normal and continues
looking for the marker in one of the cells.

Conflicts:
      nova/tests/unit/compute/test_compute_api.py

NOTE(mriedem): The conflicts are due to not having
bb7c6ebb56 in Ocata.

Change-Id: I1aa3ca6cc70cef65d24dec1e7db9491c9b73f7ab
Closes-Bug: #1737856
(cherry picked from commit 1706e39891)
(cherry picked from commit 344029b94a)
2018-01-03 12:48:04 -05: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 Merge "Handle unicode when dealing with duplicate aggregate errors during migration" 2017-01-26 02:15:47 +00: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 Add tag column to vifs and bdm 2016-04-01 08:46:54 -07:00
build_request.py Raise MarkerNotFound if BuildRequestList.get_by_filters doesn't find marker 2018-01-03 12:48:04 -05:00
cell_mapping.py Add is_cell0 helper method 2016-09-15 10:35:26 -04:00
compute_node.py Add ComputeNodeList.get_all_by_uuids method 2017-01-20 09:47:43 +01: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 Merge "Add 'disabled' to WatchdogAction field" 2017-01-31 21:14:03 +00:00
fixed_ip.py Use version convert methods from oslo_utils.versionutils 2015-11-25 20:26:02 +08:00
flavor.py Merge "Handle unicode when dealing with duplicate flavors during online migrations" 2017-01-26 02:15:14 +00:00
floating_ip.py Add new NeutronFloatingIP object 2016-04-08 14:50:38 +00:00
host_mapping.py Allow scheduler to run cell host discovery periodically 2017-02-01 12:22:23 -08:00
hv_spec.py objects: Move 'hv_type' to 'fields.HVType' 2016-11-25 16:19:43 +00:00
image_meta.py Add 'disabled' to WatchdogAction field 2017-01-03 17:27:40 -05:00
instance.py Warn the user about orphaned extra records during keypair migration 2017-06-08 14:32:01 +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 Use pick_context_manager throughout DB APIs 2016-11-18 17:15:51 +00:00
instance_info_cache.py Remove DictCompat from instance_info_cache 2016-06-13 18:31:45 +00:00
instance_mapping.py Add InstanceMappingList.get_by_cell_id 2017-01-16 12:04:30 -05:00
instance_numa_topology.py objects: add new field cpuset_reserved in NUMACell 2017-01-24 19:37:55 +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 12:47:09 -05: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 Mark sibling CPUs as 'used' for cpu_thread_policy = 'isolated' 2016-12-13 11:23:07 +04:00
pci_device.py Fix typo in comment 2016-09-28 12:18:22 +07:00
pci_device_pool.py [2/3]Replace six.iteritems() with .items() 2017-01-09 09:11:00 +00:00
quotas.py cleanup NovaObjectDictCompat from quota 2015-08-20 18:48:21 +00:00
request_spec.py Use instance.project_id when creating request specs for old instances 2017-12-20 13:02:41 -05:00
resource_provider.py Merge "[placement] fix 500 error when allocating to bad class" into stable/ocata 2017-08-12 06:18:39 +00:00
security_group.py Add SecurityGroup.identifier to prefer uuid over name 2016-12-09 10:30:48 -08:00
security_group_rule.py Cleanup NovaObjectDictCompat from security_group_rule 2016-01-05 16:21:08 +00:00
service.py Block starting compute unless placement conf is provided 2017-01-27 16:35:09 -08: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: vlan field to NetworkInterfaceMetadata object 2017-01-26 15:10:56 -05: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