2017 CI and Infrastructure Hackathon

Last week was the 2017 CI and Infrastructure Hackathon, held in Raleigh, NC, USA. Representatives from Fedora QA, CentOS, Factory 2.0, and Fedora's Infrastructure team gathered together to talk through a wide range of topics and hack on some code together. It was a highly productive week for me and I suspect everyone else as well. I'll highlight some of the things I focused on here:

  • I worked with Brian Stinson to get access to the CentOS CI system for Bodhi. There is still some work to be done to get it working, but I'm hoping to get that set up this week. Once that is in place, we will have the ability to automatically test Bodhi pull requests, and will even be able to start an integration test suite for Bodhi which would really help.
  • I worked with Mike McLean to make a basic Vagrant development environment for Koji. This will aid in Bodhi development since Bodhi is so closely tied to Koji, but it will also be useful to CentOS and the work that Pierre-Yves Chibon has been doing with Fedora CI lately.
  • Stephen Smoogen graciously set up monitoring on the Fedora container registry for me. Now we are able to keep a better eye on it as we work to expand its availability and capacity.
  • I worked with Jeremy Cline and Pierre-Yves Chibon to design a reliable system to get CI test results to Bodhi so that we will be able to gate updates based on automatic test results. One of the challenges is that the tests will be run in CentOS's infrastructure (which is a wonderful collaboration!) which means that we will need to ensure that Bodhi is able to handle outages on the link between our two datacenters (separated by ~2000 miles). I think we have a solid design and I look forward to seeing it implemented in the coming weeks.
  • Related to the above, I also worked on giving Bodhi the ability to map Builds to commit hashes in dist-git since the test results will be reported by commit hash.
  • There were also a lot of productive discussions around some important topics:
    • We spent a good bit of time talking about the modularity effort. There are still quite a few details to sort out here, but we gained a good bit of clarity. It was very helpful to have the Factory 2.0 team present.
    • We talked a lot about BDR, a database replication system for PostgreSQL. It will increase the availability of Fedora's infrastructure applications, but us application developers need to do some work to make our software compatible with BDR. We hope to roll this out into production in the coming weeks and months for our various applications. Let us know if you'd like to help!
    • We learned a lot about OpenShift and the systems team even deployed an OpenShift to the Fedora Infrastructure. I look forward to getting Bodhi running on OpenShift.
    • There were quite a few Bodhi related discussions that were helpful. We talked through some ideas on how to speed up the mash so that we could more continuously deliver repositories and OSTrees.
  • Bodhi's development environment log is now quieter by default.
  • We drank lots of beer.