commit c84846dbf93588e5420b3565d163c0393443e6d6
Author: Matt Riedemann <email address hidden>
Date: Tue Oct 22 17:59:32 2019 -0400
Fix listing deleted servers with a marker
Change I1aa3ca6cc70cef65d24dec1e7db9491c9b73f7ab in Queens,
which was backported through to Newton, introduced a regression
when listing deleted servers with a marker because it assumes
that if BuildRequestList.get_by_filters does not raise
MarkerNotFound that the marker was found among the build requests
and does not account for that get_by_filters method short-circuiting
if filtering servers with deleted/cleaned/limit=0. The API code
then nulls out the marker which means you'll continue to get the
marker instance back in the results even though you shouldn't,
and that can cause an infinite loop in some client-side tooling like
nova's CLI:
nova list --deleted --limit -1
This fixes the bug by raising MarkerNotFound from
BuildRequestList.get_by_filters if we have a marker but are
short-circuiting and returning early from the method based on
limit or filters.
NOTE(mriedem): The conflict is due to the Rocky-specific change
to the functional test in I324193129acb6ac739133c7e76920762a8987a84
due to test_concurrent_request_server_group_members_over_quota leaking
deleted servers for some reason.
Change-Id: Ic2b19c2aa06b3059ab0344b6ac56ffd62b3f755d
Closes-Bug: #1849409
(cherry picked from commit df03499843aa7fd6089bd4d07b9d0eb5a8c14b47)
(cherry picked from commit 03a2508362ecf50463d0659142312a30d0fb91f3)
(cherry picked from commit 6038455e1dafeaf8ccfdd4be9e993beea3c9fb45)
Reviewed: https:/ /review. opendev. org/690721 /git.openstack. org/cgit/ openstack/ nova/commit/ ?id=c84846dbf93 588e5420b3565d1 63c0393443e6d6
Committed: https:/
Submitter: Zuul
Branch: stable/rocky
commit c84846dbf93588e 5420b3565d163c0 393443e6d6
Author: Matt Riedemann <email address hidden>
Date: Tue Oct 22 17:59:32 2019 -0400
Fix listing deleted servers with a marker
Change I1aa3ca6cc70cef 65d24dec1e7db94 91c9b73f7ab in Queens, t.get_by_ filters does not raise cleaned/ limit=0. The API code
which was backported through to Newton, introduced a regression
when listing deleted servers with a marker because it assumes
that if BuildRequestLis
MarkerNotFound that the marker was found among the build requests
and does not account for that get_by_filters method short-circuiting
if filtering servers with deleted/
then nulls out the marker which means you'll continue to get the
marker instance back in the results even though you shouldn't,
and that can cause an infinite loop in some client-side tooling like
nova's CLI:
nova list --deleted --limit -1
This fixes the bug by raising MarkerNotFound from tList.get_ by_filters if we have a marker but are circuiting and returning early from the method based on
BuildReques
short-
limit or filters.
Conflicts:
nova/ tests/functiona l/regressions/ test_bug_ 1849409. py
NOTE(mriedem): The conflict is due to the Rocky-specific change c739133c7e76920 762a8987a84 _request_ server_ group_members_ over_quota leaking
to the functional test in I324193129acb6a
due to test_concurrent
deleted servers for some reason.
Change-Id: Ic2b19c2aa06b30 59ab0344b6ac56f fd62b3f755d 6089bd4d07b9d0e b5a8c14b47) 463d0659142312a 30d0fb91f3) 8ccfdd4be9e993b eea3c9fb45)
Closes-Bug: #1849409
(cherry picked from commit df03499843aa7fd
(cherry picked from commit 03a2508362ecf50
(cherry picked from commit 6038455e1dafeaf