As described in #664, when handling a non-verbose decision query,
greenwave will not find waivers with no (null / None)
scenario. But when handling a verbose decision query, it finds
all waivers, and considers waivers with no scenario as waiving
any otherwise-matching result regardless of the scenario (per
is in greenwave/waivers.py_is_waived). This means decisions
are not consistent between verbose and non-verbose queries.
This is a problem in practice because most people file waivers
via Bodhi, and Bodhi at present is not including the scenario in
the waivers it files, and Bodhi also does not use a verbose
query on the code path it uses to update the gating decision
after filing a waiver. So right now, when you waive failures on
an update, Bodhi still considers it as failing gating.
As described in #664, when handling a non-verbose decision query,
greenwave will not find waivers with no (
null/None)scenario. But when handling a verbose decision query, it finds
all waivers, and considers waivers with no scenario as waiving
any otherwise-matching result regardless of the scenario (per
is in
greenwave/waivers.py_is_waived). This means decisionsare not consistent between verbose and non-verbose queries.
This is a problem in practice because most people file waivers
via Bodhi, and Bodhi at present is not including the scenario in
the waivers it files, and Bodhi also does not use a verbose
query on the code path it uses to update the gating decision
after filing a waiver. So right now, when you waive failures on
an update, Bodhi still considers it as failing gating.
Signed-off-by: Adam Williamson awilliam@redhat.com