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

Reply via email to