Bodhi 2 FAD

I just came back from the Bodhi 2 FAD in Denver.

I flew from Paris on Saturday 31st morning. Luke, Kevin, Ricky and I started hacking on Sunday morning, the other participants arriving during the day.

The first two days, I started with many small things, as a warm up: packaging in Fedora some of the Bodhi 2 dependencies, escaping raw HTML in forms, adding license headers to all files, fixing some small issues in the update management,...

On Tuesday I implemented the whole release management. This area is particularly lacking in Bodhi 1, but Bodhi 2 should be a big improvement:

  • releng can't create a new release in Bodhi 1 when branching it (i.e when creating it in Git, Koji, PkgDB,...) because we don't use Bodhi right away (we start using it only at Alpha freeze). With Bodhi 2, a release can be created but kept disabled, which fixes this annoyance
  • when a Fedora release reaches end-of-life, we delete it from the Bodhi 1 database, which makes us lose all metrics, and breaks all the URLs to the updates pushed for these old releases. With Bodhi 2, we can now « archive » an old release, so that it doesn't appear in the web UI any more, we can't push updates for it any more, but URLs of old updates will still work.
  • the Release Engineers regularly need to resort to a TurboGears 1 shell to enter some Python code in order to create / modify a release in Bodhi 1. Bodhi 2 now exposes a web API to manage releases, and a command-line tool which uses this API.

Before dinner, I then quickly implemented the file-based creation of updates as needed by « fedpkg update ».

On Wednesday, I started implementing the management of buildroot overrides, tagging the build appropriately in Koji, ... That's not all done though, so I'll try to finish it in the next few days. :-)

We also had some discussions about the mashing process. We haven't decided whether we'd use the koji-mash plugin I wrote, or the more generic « run any command as root » plugin, but now that we have a working staging instance of Koji we should be able to test them and take the decision.

Overall, it was a great event. We made lots of progress, and had tons of fun.

Finally, I'd like to thank Ralph for organizing the event, Kevin for picking me up at the airport on Saturday, Tim for bringing me to the airport on Thursday (at 7am!), and Red Hat for funding my trip.

It was my first FAD, and I loved it. Looking forward to the next one. :-)