Public bug reported: When listing instances, we start with the build requests and then hit the cells.
If we're given a marker, we use it to trim the build_requests: https://github.com/openstack/nova/blob/master/nova/objects/build_request.py#L440-L457 But normally if you're looking for a marker and don't find it, that get_by_filters code should raise MarkerNotFound to indicate to the caller that you asked to filter with a marker which isn't here. If we got results back from build_requests with a marker, then the compute API get_all() method should null out the marker and continue filling the limit in the cells, like what we'd do here: https://github.com/openstack/nova/blob/master/nova/compute/api.py#L2426 And this is how it's handled within a cell database: https://github.com/openstack/nova/blob/master/nova/db/sqlalchemy/api.py#L2242-L2257 ** Affects: nova Importance: High Status: Triaged ** Affects: nova/newton Importance: Undecided Status: New ** Affects: nova/ocata Importance: Undecided Status: New ** Affects: nova/pike Importance: Undecided Status: New ** Tags: api cells ** Changed in: nova Importance: Undecided => High ** Also affects: nova/newton Importance: Undecided Status: New ** Also affects: nova/ocata Importance: Undecided Status: New ** Also affects: nova/pike Importance: Undecided Status: New -- You received this bug notification because you are a member of Yahoo! Engineering Team, which is subscribed to OpenStack Compute (nova). https://bugs.launchpad.net/bugs/1737856 Title: Listing instances with a marker doesn't nix the marker if it's found in build_requests Status in OpenStack Compute (nova): Triaged Status in OpenStack Compute (nova) newton series: New Status in OpenStack Compute (nova) ocata series: New Status in OpenStack Compute (nova) pike series: New Bug description: When listing instances, we start with the build requests and then hit the cells. If we're given a marker, we use it to trim the build_requests: https://github.com/openstack/nova/blob/master/nova/objects/build_request.py#L440-L457 But normally if you're looking for a marker and don't find it, that get_by_filters code should raise MarkerNotFound to indicate to the caller that you asked to filter with a marker which isn't here. If we got results back from build_requests with a marker, then the compute API get_all() method should null out the marker and continue filling the limit in the cells, like what we'd do here: https://github.com/openstack/nova/blob/master/nova/compute/api.py#L2426 And this is how it's handled within a cell database: https://github.com/openstack/nova/blob/master/nova/db/sqlalchemy/api.py#L2242-L2257 To manage notifications about this bug go to: https://bugs.launchpad.net/nova/+bug/1737856/+subscriptions -- Mailing list: https://launchpad.net/~yahoo-eng-team Post to : yahoo-eng-team@lists.launchpad.net Unsubscribe : https://launchpad.net/~yahoo-eng-team More help : https://help.launchpad.net/ListHelp