Fedora nightly image finder

Guess what? I wrote another new thing! Here's what it does: it makes a page where you can easily find Fedora nightly images. Yup, that simple!

Finding nightly Fedora builds has always been a bit of a pain. For quite a while we had this page, which just linked to a couple of canned Koji searches. It kinda worked, but it was terribly slow and the results weren't the nicest thing to look at; it also couldn't find you installer images, as they don't come out of Koji. It doesn't work any more, as the Koji tasks it searches for are no longer correct; it could easily be 'fixed' but it'd still be a bad experience.

We also had a thing called the release engineering dashboard for a while (link is to the code as the page is no longer live, it redirects to PDC), but it was killed recently as it wasn't entirely in line with current workflows, particularly since the Pungi 4 change. It also did live Koji queries when you hit it, I think, which made it rather slow. It covered more stuff than just nightly composes, though, to be fair, and my new thing doesn't do that.

So for the last few weeks we've really had nothing at all to point people to when they say "hey, how can I reliably find a recent Fedora nightly image?", and that's kinda embarrassing. We can just tell you to go look in the development tree, but that doesn't entirely work, because not every image compose succeeds every time, so the image you want might be missing, and anyhow, poking through the tree sucks.

My fedfind tool can find all the images in a given compose and do lots of other handy stuff too, but it can't actually answer the question, say, "where's the last Workstation live build for Fedora 24?"

At first I thought of extending fedfind to do that, but then I thought it might be more useful to write a little page generator that uses fedfind (and other things) to produce a simple HTML page with the information. So that's what I did!

The tool is called fedora_nightlies. What it basically does is keep a stash of information (as a flat JSON file, for now) on nightly images. This can be seeded with the last X days worth of composes, and there is a fedmsg consumer which can be used subsequently to update the data store each time a compose completes and each time openQA testing for a compose finishes.

It then produces a pretty basic HTML page from the data. For each 'image group' - like 'Workstation live' or 'Server netinst' - it links to the most recent successful nightly compose for each arch for Rawhide and the current Branched release. For images that are tested by openQA, it also links to the most recent image which passed all image-specific tests: the 'last known good' image.

And that's it! It's pretty simple, but I'm quite happy with it. I've got various ideas for improvements - I'd like to do 'last known good' for Cloud images via Autocloud fedmsgs, for a start - and hopefully we can move it into an official Fedora domain somewhere or other. There's also an open issue for improving the HTML, so if anyone was looking for a web design project, go ahead =) I do have some restrictions there, though - basically, don't go nuts with the Javascript.


No comments.