Re: Thoughts welcome: interface between automated test gating and the "critical path"
On Tue, 2022-10-18 at 09:37 -0400, pmkel...@frontier.com wrote: > > > > Second, since nobody really opposed the idea of extending the critpath > > definition slightly, here's a formal proposal to implement that. I want > > to edit the wiki critpath page: > > https://fedoraproject.org/wiki/Critical_path_package > > > > and change it as follows: > > > > 1. Under Background, change "The packages required to sustain these > > actions make up the critical path." to: > > > > "The packages required to sustain these actions initially made up the > > critical path. Later, it was agreed that the maintainers of Editions, > > spins, and labs can also declare packages that provide other key > > functionality to be part of the ''critical path'' for that Edition, > > spin or lab." > > > > 2. Under Actions, change the first two sentences to read: > > > > "Packages required to perform the most fundamental actions on a system > > are always considered part of the ''critical path''. Those actions > > include: " > > > > Does anyone object to these proposed changes? Thanks! > > > I think this is a great improvement over what we had. So, I just realized I never actually made these changes! I've just done so now: https://fedoraproject.org/w/index.php?title=Critical_path_package=686714=599546 I also updated the information on how critpath is generated and how you can view it, as that all changed as part of this too. -- Adam Williamson (he/him/his) Fedora QA Fedora Chat: @adamwill:fedora.im | Mastodon: @ad...@fosstodon.org https://www.happyassassin.net ___ test mailing list -- test@lists.fedoraproject.org To unsubscribe send an email to test-le...@lists.fedoraproject.org Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/test@lists.fedoraproject.org Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue
Re: Thoughts welcome: interface between automated test gating and the "critical path"
On 10/17/22 8:45 PM, Adam Williamson wrote: On Fri, 2022-09-02 at 10:26 -0700, Adam Williamson wrote: If we don't think it's worth doing that work, then we're kinda stuck with openQA glomming onto the critpath definition to decide which updates to test and gate, because I don't have any other current viable choices for that, really. And we'd have to figure out a critpath definition that's as viable as possible for both purposes. BTW, one other thought I've had in relation to all this is that we could enhance the current critpath definition somewhat. Right now, it's built out of package groups in comps which are kinda topic-separated: there's a critpath-kde, a critpath-gnome, a critpath-server, and so on. But the generated critical path package list is a monolith: it doesn't distinguish between a package that's on the GNOME critpath and a package that's on the KDE critpath, you just get a big list of all critpath packages. It might be nice if we actually did distinguish between those - the critpath definition could keep track of which critpath topic(s) a package is included in, and Bodhi could display that information in the web UI and provide it via the API. That way manual testers could get a bit more info on why a package is critpath and what areas to test, and openQA could potentially target its test runs to conserve resources a bit, though this might require a bit more coding work on the gating stuff now I think about it. That sounds useful. We only need a volunteer to figure out the details and do the work ;) I actually did a huge rewrite of the thing that generates the critpath data this week, and it probably wouldn't be to much work, honestly. The most annoying bit would be the Bodhi frontend stuff, but that's because I'm bad at frontend dev in general. :P But yeah, this is definitely off in sky-castle land. I'll add it to my ever-growing list of sky-castle projects to do when I get a couple of years of spare time... So, an update on this whole area! First off, I'm actually finding the time to do the sky-castle work. The releng critpath script now outputs critpath data by group: https://pagure.io/releng/c/621caa542acc142d57f1247e7644846f737f8eee?branch=main Bodhi (git HEAD Bodhi, anyway) can now read data in that format: https://github.com/fedora-infra/bodhi/pull/4755 and when this PR is merged, it will be able to mark updates as critpath by groups: https://github.com/fedora-infra/bodhi/pull/4759 This has the handy bonus effect of enabling us to remove one of our remaining uses of PDC. Once the Bodhi work is merged, I can send a PR for the releng ansible repo to define per-group greenwave policies, run the critpath.py script nightly on the Bodhi boxes, and switch to the 'json' critpath type in Bodhi config, and finally I can then enhance the openQA scheduler to only run the necessary tests for each update. Second, since nobody really opposed the idea of extending the critpath definition slightly, here's a formal proposal to implement that. I want to edit the wiki critpath page: https://fedoraproject.org/wiki/Critical_path_package and change it as follows: 1. Under Background, change "The packages required to sustain these actions make up the critical path." to: "The packages required to sustain these actions initially made up the critical path. Later, it was agreed that the maintainers of Editions, spins, and labs can also declare packages that provide other key functionality to be part of the ''critical path'' for that Edition, spin or lab." 2. Under Actions, change the first two sentences to read: "Packages required to perform the most fundamental actions on a system are always considered part of the ''critical path''. Those actions include: " Does anyone object to these proposed changes? Thanks! I think this is a great improvement over what we had. Have a Great Day! Pat (tablepc) ___ test mailing list -- test@lists.fedoraproject.org To unsubscribe send an email to test-le...@lists.fedoraproject.org Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/test@lists.fedoraproject.org Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue
Re: Thoughts welcome: interface between automated test gating and the "critical path"
On Mon, Oct 17, 2022 at 8:54 PM Adam Williamson wrote: > > Does anyone object to these proposed changes? Thanks! Ship it! -- Ben Cotton He / Him / His Fedora Program Manager Red Hat TZ=America/Indiana/Indianapolis ___ test mailing list -- test@lists.fedoraproject.org To unsubscribe send an email to test-le...@lists.fedoraproject.org Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/test@lists.fedoraproject.org Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue
Re: Thoughts welcome: interface between automated test gating and the "critical path"
On Fri, 2022-09-02 at 10:26 -0700, Adam Williamson wrote: > > > > If we don't think it's worth doing that work, then we're kinda stuck > > > with openQA glomming onto the critpath definition to decide which > > > updates to test and gate, because I don't have any other current viable > > > choices for that, really. And we'd have to figure out a critpath > > > definition that's as viable as possible for both purposes. > > > > > > > > > BTW, one other thought I've had in relation to all this is that we > > > could enhance the current critpath definition somewhat. Right now, it's > > > built out of package groups in comps which are kinda topic-separated: > > > there's a critpath-kde, a critpath-gnome, a critpath-server, and so on. > > > But the generated critical path package list is a monolith: it doesn't > > > distinguish between a package that's on the GNOME critpath and a > > > package that's on the KDE critpath, you just get a big list of all > > > critpath packages. It might be nice if we actually did distinguish > > > between those - the critpath definition could keep track of which > > > critpath topic(s) a package is included in, and Bodhi could display > > > that information in the web UI and provide it via the API. That way > > > manual testers could get a bit more info on why a package is critpath > > > and what areas to test, and openQA could potentially target its test > > > runs to conserve resources a bit, though this might require a bit more > > > coding work on the gating stuff now I think about it. > > > > That sounds useful. We only need a volunteer to figure out the details > > and do the work ;) > > I actually did a huge rewrite of the thing that generates the critpath > data this week, and it probably wouldn't be to much work, honestly. > The most annoying bit would be the Bodhi frontend stuff, but that's > because I'm bad at frontend dev in general. :P But yeah, this is > definitely off in sky-castle land. I'll add it to my ever-growing list > of sky-castle projects to do when I get a couple of years of spare > time... So, an update on this whole area! First off, I'm actually finding the time to do the sky-castle work. The releng critpath script now outputs critpath data by group: https://pagure.io/releng/c/621caa542acc142d57f1247e7644846f737f8eee?branch=main Bodhi (git HEAD Bodhi, anyway) can now read data in that format: https://github.com/fedora-infra/bodhi/pull/4755 and when this PR is merged, it will be able to mark updates as critpath by groups: https://github.com/fedora-infra/bodhi/pull/4759 This has the handy bonus effect of enabling us to remove one of our remaining uses of PDC. Once the Bodhi work is merged, I can send a PR for the releng ansible repo to define per-group greenwave policies, run the critpath.py script nightly on the Bodhi boxes, and switch to the 'json' critpath type in Bodhi config, and finally I can then enhance the openQA scheduler to only run the necessary tests for each update. Second, since nobody really opposed the idea of extending the critpath definition slightly, here's a formal proposal to implement that. I want to edit the wiki critpath page: https://fedoraproject.org/wiki/Critical_path_package and change it as follows: 1. Under Background, change "The packages required to sustain these actions make up the critical path." to: "The packages required to sustain these actions initially made up the critical path. Later, it was agreed that the maintainers of Editions, spins, and labs can also declare packages that provide other key functionality to be part of the ''critical path'' for that Edition, spin or lab." 2. Under Actions, change the first two sentences to read: "Packages required to perform the most fundamental actions on a system are always considered part of the ''critical path''. Those actions include: " Does anyone object to these proposed changes? Thanks! -- Adam Williamson Fedora QA IRC: adamw | Twitter: adamw_ha https://www.happyassassin.net ___ test mailing list -- test@lists.fedoraproject.org To unsubscribe send an email to test-le...@lists.fedoraproject.org Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/test@lists.fedoraproject.org Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue
Re: Thoughts welcome: interface between automated test gating and the "critical path"
On Fri, 2022-09-02 at 08:37 +, Zbigniew Jędrzejewski-Szmek wrote: > > > > Now, because I glued openQA to the critpath because it was handy, there > > are two sets of consequences to a package being in critical path: > > > > 1. Tighter Bodhi requirements > > 2. openQA tests are run, and results gate the update (except Rawhide) > > > > So, one of the implicit questions here is, is it OK to keep twinning > > these two sets of consequences, or should we split them up? Splitting > > them up kinda implies answer 2) from my original mail: "Keep the > > current "critical path" concept but define a broader group > > of "gated packages" somewhere". Because we would then need some new > > concept that isn't "critical path". As I said, that's more *work* - > > it'd require us to write new code in several places[0]. Even if we > > decide it'd be nice to do this, is it nice *enough* to be worth doing > > that work? > > I'd still vote for keeping a single critpath list and using it as > "the list of packages that require extra care and testing". > > As you describe, the original meaning of critpath has shifted, but > it's because the way we do updates and QA has also shifted. Doing > gating tests for a package seems much more useful than just keeping > it longer in 'updates-testing' in hope that somebody discovers an > important regresion in the second week. Well, there's a caveat there - openQA doesn't test everything. On the whole we cover quite a lot with the set of tests that gets run on updates, but there's certainly lots of potential for there to be important bugs it misses, that a human tester might catch. So I think there is still a case for the higher karma requirements too. > > So yeah, I don't think it makes sense to do the extra work to split > the concepts. Also because we have way too many concepts and processes > in Fedora already. On the whole, though, I agree with you. I just don't trust my own opinion because it's obviously biased by what's convenient for me. :D > > If we don't think it's worth doing that work, then we're kinda stuck > > with openQA glomming onto the critpath definition to decide which > > updates to test and gate, because I don't have any other current viable > > choices for that, really. And we'd have to figure out a critpath > > definition that's as viable as possible for both purposes. > > > > > > BTW, one other thought I've had in relation to all this is that we > > could enhance the current critpath definition somewhat. Right now, it's > > built out of package groups in comps which are kinda topic-separated: > > there's a critpath-kde, a critpath-gnome, a critpath-server, and so on. > > But the generated critical path package list is a monolith: it doesn't > > distinguish between a package that's on the GNOME critpath and a > > package that's on the KDE critpath, you just get a big list of all > > critpath packages. It might be nice if we actually did distinguish > > between those - the critpath definition could keep track of which > > critpath topic(s) a package is included in, and Bodhi could display > > that information in the web UI and provide it via the API. That way > > manual testers could get a bit more info on why a package is critpath > > and what areas to test, and openQA could potentially target its test > > runs to conserve resources a bit, though this might require a bit more > > coding work on the gating stuff now I think about it. > > That sounds useful. We only need a volunteer to figure out the details > and do the work ;) I actually did a huge rewrite of the thing that generates the critpath data this week, and it probably wouldn't be to much work, honestly. The most annoying bit would be the Bodhi frontend stuff, but that's because I'm bad at frontend dev in general. :P But yeah, this is definitely off in sky-castle land. I'll add it to my ever-growing list of sky-castle projects to do when I get a couple of years of spare time... -- Adam Williamson Fedora QA IRC: adamw | Twitter: adamw_ha https://www.happyassassin.net ___ test mailing list -- test@lists.fedoraproject.org To unsubscribe send an email to test-le...@lists.fedoraproject.org Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/test@lists.fedoraproject.org Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue
Re: Thoughts welcome: interface between automated test gating and the "critical path"
On Wed, 2022-08-31 at 12:43 +, Zbigniew Jędrzejewski-Szmek wrote: > On Tue, Aug 30, 2022 at 12:10:00PM -0700, Adam Williamson wrote: > > On Tue, 2022-08-30 at 09:14 -0400, Ben Cotton wrote: > > > From my perspective, anything that blocks the release is on the > > > critical path. So any time there's a violation of the release criteria > > > and the package is not on the critical path definition, that's a bug > > > in the definition. > > > > > > I recognize that this is a somewhat naïve view. For one, it may > > > broaden the definition beyond the current capacity of our test > > > infrastructure. It also may broaden the definition beyond what > > > maintainers are willing to put up with. These are both legitimate > > > problems. But the closer we can get to this ideal state, the better. > > > > > > For anyone who is curious, I just searched for all accepted blockers > > > in the "Fedora" product in Bugzilla. 327 components have been a > > > blocker at least once. Some of those may no longer be blocking and > > > others will be added over time as our criteria change. The full list > > > with counts is at > > > https://bcotton.fedorapeople.org/release-blocking-components.csv if > > > you're interested. > > > > Honestly, something along these lines would be my preference too, I > > just don't know if others would agree/support changing the critical > > path definition to "all release-blocking functionality" rather than > > "functionality needed to boot a basically-functional system". > > I'd support increasing the scope to cover more packages in this fashion. > > Being on critpath list is somewhat annoying because the bodhi update > minimum times are twice as long. For many packages this is a not a problem, > popular packages get enough karma within a day or two, > but if we expanded the list a lot, it could prove annoying to those > packagers. I think we could discuss lowering the minium update time > if this turns out to be the case. So, that's an interesting question to consider as well, of course: what's the actual impact of critpath? It'd be an interesting outcome if we broadened the critpath definition but diluted the Bodhi requirements, because the original purpose of critpath was more or less entirely the stricter Bodhi requirements. Until openQA came along, that was all it really meant: updates to these packages have stricter Bodhi requirements. Now, because I glued openQA to the critpath because it was handy, there are two sets of consequences to a package being in critical path: 1. Tighter Bodhi requirements 2. openQA tests are run, and results gate the update (except Rawhide) So, one of the implicit questions here is, is it OK to keep twinning these two sets of consequences, or should we split them up? Splitting them up kinda implies answer 2) from my original mail: "Keep the current "critical path" concept but define a broader group of "gated packages" somewhere". Because we would then need some new concept that isn't "critical path". As I said, that's more *work* - it'd require us to write new code in several places[0]. Even if we decide it'd be nice to do this, is it nice *enough* to be worth doing that work? If we don't think it's worth doing that work, then we're kinda stuck with openQA glomming onto the critpath definition to decide which updates to test and gate, because I don't have any other current viable choices for that, really. And we'd have to figure out a critpath definition that's as viable as possible for both purposes. BTW, one other thought I've had in relation to all this is that we could enhance the current critpath definition somewhat. Right now, it's built out of package groups in comps which are kinda topic-separated: there's a critpath-kde, a critpath-gnome, a critpath-server, and so on. But the generated critical path package list is a monolith: it doesn't distinguish between a package that's on the GNOME critpath and a package that's on the KDE critpath, you just get a big list of all critpath packages. It might be nice if we actually did distinguish between those - the critpath definition could keep track of which critpath topic(s) a package is included in, and Bodhi could display that information in the web UI and provide it via the API. That way manual testers could get a bit more info on why a package is critpath and what areas to test, and openQA could potentially target its test runs to conserve resources a bit, though this might require a bit more coding work on the gating stuff now I think about it. [0]: at least: releng critpath generation scripts, bodhi, the openQA scheduler, greenwave policies, and possibly greenwave -- Adam Williamson Fedora QA IRC: adamw | Twitter: adamw_ha https://www.happyassassin.net ___ test mailing list -- test@lists.fedoraproject.org To unsubscribe send an email to test-le...@lists.fedoraproject.org Fedora Code of Conduct:
Re: Thoughts welcome: interface between automated test gating and the "critical path"
On Tue, 2022-08-30 at 09:14 -0400, Ben Cotton wrote: > From my perspective, anything that blocks the release is on the > critical path. So any time there's a violation of the release criteria > and the package is not on the critical path definition, that's a bug > in the definition. > > I recognize that this is a somewhat naïve view. For one, it may > broaden the definition beyond the current capacity of our test > infrastructure. It also may broaden the definition beyond what > maintainers are willing to put up with. These are both legitimate > problems. But the closer we can get to this ideal state, the better. > > For anyone who is curious, I just searched for all accepted blockers > in the "Fedora" product in Bugzilla. 327 components have been a > blocker at least once. Some of those may no longer be blocking and > others will be added over time as our criteria change. The full list > with counts is at > https://bcotton.fedorapeople.org/release-blocking-components.csv if > you're interested. Honestly, something along these lines would be my preference too, I just don't know if others would agree/support changing the critical path definition to "all release-blocking functionality" rather than "functionality needed to boot a basically-functional system". Thanks for the data! I will see if I can diff it against the current critpath definition; that would be interesting. -- Adam Williamson Fedora QA IRC: adamw | Twitter: adamw_ha https://www.happyassassin.net ___ test mailing list -- test@lists.fedoraproject.org To unsubscribe send an email to test-le...@lists.fedoraproject.org Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/test@lists.fedoraproject.org Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue
Re: Thoughts welcome: interface between automated test gating and the "critical path"
On Tue, 2022-08-30 at 09:39 +0300, Alexander Bokovoy wrote: > On ma, 29 elo 2022, Adam Williamson wrote: > > On Tue, 2022-08-30 at 00:32 -0400, DJ Delorie wrote: > > > It sounds to me like the problem is "how do we best use the available > > > automated test resources?" so I'll answer accordingly. Ignore me if I > > > misunderstood ;-) > > > > No, not really, sorry if I didn't explain clearly enough :D It's more > > just a 'what's the best way to work what I want to do around the > > existing definitions' question. What I want to do is have updates of > > FreeIPA-related packages gated. The awkwardness is that right now the > > definition of what gets gated is "critical path packages", and those > > clearly don't meet the current definition of "critical path". > > Not all of them meet the current definition of 'critical path' but many > do. In fact, almost all crypto-implementing packages should be on that > list, if not already. Sure, but freeipa itself, for instance, can't really be as things stand. Nor could bind, I don't think. And several others. > > Ideally, use of gating tests should be defined in the component itself. > Do we have a mechanism to trigger OpenQA runs from the gating.yaml in > the specific component? If we do, then we really should move it there. No. I don't think this is in-scope for gating.yaml. I *could* extend the openQA scheduler to check some kind of per-repo config for every package in the update, but there is nothing like this at present. In any case, triggering the *tests* isn't the problem here; we already do that, with the allowlist. It's doing the *gating* that's the problem. As I said, we could add *that* to gating.yaml for each repo, but I don't really love that idea, because you have to provide a full list of what tests to gate on, and doing that for each repo and keeping it updated seems like kind of a drag. I guess in a sense it's appropriate for these packages, though, as you could say we'd "really" want to gate on the FreeIPA-specific tests, or at least just the server tests. But honestly, if an update to a freeipa-related package causes GNOME to start crashing or something, that's something I want to look into before the update goes stable, even if it seems very weird. > > Another part of the problem is that most of these runs should probably > be consulting, not gating in the sense that failing them should give you > a clue that things might be wrong but there needs to be a human overview > of the failures. It is what we have right now with OpenQA-reported > failures for Bodhi updates in most cases, the test results aren't really > preventing the submissions from the going forward unless a maintainer > defined the update configuration to be so. The problem cases here are what I was thinking about. They are: Branched before Beta freeze, and Rawhide. For those cases, updates are automatically created on `fedpkg build` and immediately submitted for stable. If there is no applicable gating policy they are immediately pushed stable. There is no time for anyone to consult. If you use a side tag there's no automatic submission, I don't think, but people do not use side tags as a matter of course. Right now we don't gate Rawhide updates, but I would like to and I am actively working on it (this would prevent me having the kind of nightmare week I had last week where I spent dozens of hours tracking down things that had broken in Rawhide, getting them fixed, and re- running tests). We *do* currently gate Branched updates before Beta freeze, and I want FreeIPA-related packages included in that for the next cycle. I would have liked it if, for the F37 cycle, FreeIPA-related updates that were submitted between Branch point and Beta freeze were gated. But they weren't. Practically speaking, the way we do things in Fedora, there is very little difference between "gating" and "consulting"; because of the waiver mechanism they're effectively identical. You can always issue waivers to override the gating. So really, gating is consulting. You can look at the failures, decide they're bogus, and hit the waiver button, which will immediately make the update 'pass' gating. I do encourage people not to abuse the waiver function - if the failure seems like a flake please use the 're-run tests' button, if you really think it's bogus please poke me or Lukas or someone as I'm probably working right then on dealing with it - but it is right there. > > Ideally, we should have reverse dependency updates to trigger FreeIPA > tests and give their results a visibility but don't block on failures. > This would give an opportunnity to notice a failurer earlier but don't > discourage maintainers from participating in a joint development. We would like reverse dependency testing for all sorts of reasons, but it's also all sorts of difficult (and, potentially, resource- intensive). Of course, in openQA testing we do sort of have this already. We run *all* tests on all critpath
Re: Thoughts welcome: interface between automated test gating and the "critical path"
From my perspective, anything that blocks the release is on the critical path. So any time there's a violation of the release criteria and the package is not on the critical path definition, that's a bug in the definition. I recognize that this is a somewhat naïve view. For one, it may broaden the definition beyond the current capacity of our test infrastructure. It also may broaden the definition beyond what maintainers are willing to put up with. These are both legitimate problems. But the closer we can get to this ideal state, the better. For anyone who is curious, I just searched for all accepted blockers in the "Fedora" product in Bugzilla. 327 components have been a blocker at least once. Some of those may no longer be blocking and others will be added over time as our criteria change. The full list with counts is at https://bcotton.fedorapeople.org/release-blocking-components.csv if you're interested. -- Ben Cotton He / Him / His Fedora Program Manager Red Hat TZ=America/Indiana/Indianapolis ___ test mailing list -- test@lists.fedoraproject.org To unsubscribe send an email to test-le...@lists.fedoraproject.org Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/test@lists.fedoraproject.org Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue
Re: Thoughts welcome: interface between automated test gating and the "critical path"
On Tue, 2022-08-30 at 00:32 -0400, DJ Delorie wrote: > It sounds to me like the problem is "how do we best use the available > automated test resources?" so I'll answer accordingly. Ignore me if I > misunderstood ;-) No, not really, sorry if I didn't explain clearly enough :D It's more just a 'what's the best way to work what I want to do around the existing definitions' question. What I want to do is have updates of FreeIPA-related packages gated. The awkwardness is that right now the definition of what gets gated is "critical path packages", and those clearly don't meet the current definition of "critical path". > > We currently have a small list of packages that are gated behind openQA, > and insufficient openQA resources to expand this list to all packages. > > We also have a gating system based on karma, where users provide the QA > manually. At least, one hopes. The karma system has some > configurability for how much karma is needed, and for how long, etc. Ah, no, again, I guess I should've explained that in more detail. When I talk about "gating" I'm not talking about the manual karma mechanism. I'm talking about the mechanism that prevents updates being pushed stable if they fail the automated tests. That's a separate, parallel thing which does not involve karma or manual feedback at all, it's entirely automated. > > What about a merger of those systems, where the openQA results count as > a type of user, contributing to the status? Give each package a "QA > Priority" that ranges from "full gating" to "five second rule", where > the openQA resources and the user work together to prioritize and test > packages according to need: > > * full gating requires all openQA tests to pass AND meet karma > requirements, openQA does these first. > > * partial gating is like above, but either one (openQA or karma) can be > sufficient if enough time passes. > > * reject only allows an openQA failure to reject an update, but the lack > of openQA success need not stop it if it has enough karma. (glibc uses > this paradigm - a ci/cd failure is an automatic reject, but a ci/cd > pass adds nothing to the consensus needed) > > ... and so on down the list. Each user, including openQA, can "vote" a > pass or fail, and the rules say how all those passes and fails result in > the update's overall pass or fail. > > This would allow the openQA resources to prioritize updates that it > knows *needs* openQA results, which allocating spare cycles to packages > that could benefit from testing but don't require it. It also means > that additional openQA resources can be put to use immediately, while > still allowing for growth in critical path size, without being wasted on > unseen results. This is an interesting idea, but rather complex and doesn't solve any problem I have right now. :P Sorry for the confusion! -- Adam Williamson Fedora QA IRC: adamw | Twitter: adamw_ha https://www.happyassassin.net ___ test mailing list -- test@lists.fedoraproject.org To unsubscribe send an email to test-le...@lists.fedoraproject.org Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/test@lists.fedoraproject.org Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue
Re: Thoughts welcome: interface between automated test gating and the "critical path"
On Mon, Aug 29, 2022 at 03:50:02PM -0700, Adam Williamson wrote: ...snip... > > I can think of I guess four options: > > 1. Broaden the definition of the "critical path" somehow. We could just > write in that it includes FreeIPA functionality, I guess, though that > seems special purpose. We could broaden it to include any functionality > covered by the release criteria, which would be quite a big increase > but seems like a reasonable and concise definition. Or we could write > in that it includes any functionality that is exercised by the gating > openQA tests, though that seems a bit arbitrary - there's no > particularly great organizing principle to the openQA tests we choose > to run on updates, if I'm honest, it's a sort of grab bag I came up > with. I think this one is best... perhaps we could add something like 'and such package groups as working groups decide are critical to their edition' ? kevin signature.asc Description: PGP signature ___ test mailing list -- test@lists.fedoraproject.org To unsubscribe send an email to test-le...@lists.fedoraproject.org Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/test@lists.fedoraproject.org Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue