I've been dragging my feet on this for a long time as I really didn't want it to be our problem, but I suspect unfortunately it might have to be.
I've wanted for a long time for us to be able to test updated anaconda packages without waiting for them to make it into one of the existing distribution composes. https://pagure.io/releng/issue/6746 is about this, but they do not seem to be moving on it, and releng composes take hours.
It's possible to produce just an installer image with updated anaconda etc. by bootstrapping from an existing compose much faster than that, and I sometimes do that manually and hackily feed it to openQA for testing using the universal flavor. That's pretty icky, though. We should do better.
universal
It's doing more stuff in this project than we really ideally should be doing, but I don't think there's any plausible alternative for now, to my knowledge; there are various image-build-service projects floating around the RH/Fedora universe, but I don't think any of them is really in this scope (if any are, please point me at them!)
There's various ways we could go about doing this - doing it all blocking in a fedmsg consumer probably not the best of them (though come to think of it, I'm not actually sure if fedmsg-hub is blocked by a consumer while it's processing a message, or if it's threaded or whatever such that it's fine for a consumer to take a while, and messages that show up in the mean time will still be handled). The nuttiest idea I had so far involves (ab?)using the openQA background task daemon (gru) to do it somehow. But...it seems like something we kind of need to do at this point.
@jkonecny approached me today about having openQA test selected anaconda git commits / pull requests, which involves the same problem. It has some other complications, but at minimum needs something like this (unless they want to do the image building work for us...)
Of course, if anyone can think of a way to do this that does not involve building images, I'm all ears. (We could in theory use installer update images for testing some changes, but it doesn't cover several areas).
@mohanboddu @ausil , just for reference...
@jkaluza says ODCS can almost do the part we need for updates testing now, and he's interested in enhancing it to get to where we want it to be, so for now, let's say this ticket is going to follow that work, at least as long as it looks like he'll have time for it. Then we'll just have to tweak things so that for the relevant updates, the scheduler requests a compose from ODCS then waits for it to complete before scheduling the jobs.
Metadata Update from @adamwill: - Issue tagged with: waiting
Yes, I will keep this ticket updated. I would like to test creation of installer images using the ODCS this/next week on Fedora staging with patches I have for Pungi. I will write back after those tests.
@jkaluza ping? where are we on this? thanks!
So, I eventually got tired of waiting for someone else to fix this and fixed it myself. We now have things set up so the openQA tests themselves are capable of producing a generic network installer image and a Workstation live image, and there are tests run on those images once they are produced. These tests are run on all updates. The test group for the installer image is "updates-everything-boot-iso" and the test group for the Workstation live image is "updates-workstation-live-iso".
Metadata Update from @adamwill: - Issue close_status updated to: Fixed - Issue status updated to: Closed (was: Open)
This issue has been migrated to Fedora Forge: https://forge.fedoraproject.org/quality/fedora_openqa/issues/62
Please continue any further discussion there.