Bodhi: require_bugs and require_testcases have never been enforced - should they be?

Bodhi issue #5955 points at a FIXME in models.py (currently line 4180) saying the test case and bug feedback requirements should be wired into the update gating logic. They never have been, so require_bugs and require_testcases currently do nothing.

What makes this more than a small bug fix is the current default state. On develop today:

  • models.py:2058-2059 - both columns are Column(Boolean, default=False)
  • schemas.py:250-257 - the API schema sets missing=True for both
  • new_update.html:274-279 - the web UI renders both switches checked for any new update

So for anything created through the API or the web form both flags are effectively on, and have been for years while doing nothing. Wiring up enforcement wouldn’t be a quiet rollout - it would start gating real updates the day it lands, for every update with an associated bug that hasn’t had positive feedback.

@mattiaverga raised exactly this on the issue:

I suppose it will cause “unexpected behavior”… better to be discussed/announced in the Fedora devel mailing list or on Fedora Discuss.

So, two questions before anyone writes code:

  1. Should the defaults flip to off, so enforcement only applies where a maintainer has deliberately opted in?
  2. Or is gating-by-default the intended behaviour, in which case this wants an announcement and probably a release to bake in?

There’s some overlap with @adamwill’s rmdepcheck gating proposal from July - different check, but the same underlying question of what holds an update back from stable and who gets to waive it. Might be worth deciding these consistently rather than one at a time.

Happy to do the implementation either way once there’s a direction. @adamwill sketched the shape of the code change on #5956 already.

We’ve already discussed this in a ticket I think, yeah. My opinion is that if we ever decide to make these actually work, we should flip the default to false, and mass-edit all existing updates to false.

Yeah, I’d agree.