It is possible that @psabata will submit a build of base-runtime which will take some time to build.
While that is building, @ralph could submit a build of testmodule which depends on base-runtime.
Since we resolve deps through PDC, we will find the in-flight base-runtime dep and use it to populate the buildroot of testmodule... except it hasn't finished building yet (or maybe it failed...).
We should use only the last successful module build for deps. If there is none, then fail.
Would it make sense to store the info about "success"/"fail" in PDC. I mean other apps should be able to find out if the entry in PDC is valid or not without querying MBS to find that...
I'm getting into this.
I have partial patches to pdc-updater, pdc, and mbs all locally. It needs a bit more testing before I can submit them all.
I'm taking the route you suggested @jkaluza: adding an active field to the unreleasedvariants in PDC that defaults to False. Only when the module transitions to ready will pdc-updater then perform a HTTP PATCH to PDC to set active to True.
active
False
Then, mbs will need to query for only "active" modules when assembling the buildroot.
The following three patches should resolve this issue:
Submitted freeze-break request here: https://lists.fedoraproject.org/archives/list/infrastructure@lists.fedoraproject.org/thread/3TRY7L5GPE66BRB3O32WMNVE3NTGP7YD/
Metadata Update from @ralph: - Issue status updated to: Closed (was: Open)
This issue has been migrated to Fedora Forge: https://forge.fedoraproject.org/koji/mbs/issues/407
Please continue any further discussion there.