The Infrastructure Team consists of dedicated volunteers and professionals managing the servers, building the tools and utilities, and creating new applications to make Fedora development a smoother process. We’re located all over the globe and communicate primarily by IRC and email.
We believe Ansible is the best new technology for systems deployment and management. This year, the Infrastructure team moved all remaining Puppet recipes (78 at start of FY2016) in the infrastructure to Ansible playbooks.
The automation provided by Ansible allows us to quickly fix, rebuild, and scale our existing services and deploy new services. Additionally, we worked with Ansible upstream to test the new Ansible 2.0 and have just recently moved our control host to 2.0.
RHEL 6 to 7 conversion
As we moved hosts over from Puppet to Ansible, we used the opportunity to rebuild all of our hosts on top of RHEL 7 and dealt with all the yak-shaving entailed therein. The last RHEL 6 instances (aside from a few that need to stay, like Jenkins RHEL 6 builder) should go away next year.
We migrated our old OpenStack instance to a newer version and moved out from under the
cloud.fedoraproject.org domain to
fedorainfracloud.org for HSTS reasons.
Our very own git forge! It just got a face lift last week and we think it’s pretty cool.
HyperKitty is a web front end to the new Mailman version 3 which allows users to browse topics in a more familiar, forum-like interface. We will complete development of this application and deploy for use with Fedora mailing lists.
- Mailman 3 announcement
Koschei is a continuous integration service for Fedora packages. Koschei is aimed at helping Fedora developers by detecting problems as soon as they appear in Rawhide. It tries to detect package FTBFS in Rawhide by scratch-building them in Koji.
Pronounced as bo-dee, it is a Buddhist term for the wisdom by which one attains enlightenment. Bodhi is a modular, web-based system that facilitates the process of publishing package updates for Fedora. It maintains a single stage of repositories by adding, updating, and removing packages.
This started with a FAD at the end of 2014, but was finished and deployed in 2015. The new MirrorManager 2 is written on top of a modern framework and has many more people familiar with its code now.
This service got a partial rewrite this year, attempting to resolve some data stability issues.
- Ralph Bean blog – History of Fedora Packages
A new service that provides a JSON API to the contents of a yum repository’s metadata (a useful service for our other services). “mdapi” means “metadata api“.
møte, conceived only last May, handles the organization and serving of MeetBot logs. møte is a web-based graphical interface and repository for the IRC logs produced by MeetBot, replacing the dated system of serving IRC logs through an
httpd directory listing.
Other teams have been doing really cool stuff that ends up making its way in through the Infrastructure team, but we really can’t claim credit for it. Notably, Release Engineering (releng) has been enhancing their automation and working with us to stand up supportive services. QA-devel has done crazy awesome work with taskotron and autoQA. They can talk more about all that.
Goals for 2016
We tend to set goals for the next year around April each year, and so we’re not
quite ready to commit to a list, but here are some ideas we’ve been batting
- fedora-hubs is a project that was brainstormed, designed, and prototyped
throughout 2015, and we hope to bring it up to maturity in the coming year.
Read mizmo’s writeups on it for a solid introduction.
- We use nagios and collectd for monitoring our deployments, but we need to
rethink how we’re approaching the whole operation; we’ll likely be revamping
all that this year.
- And… surely there are other plans lurking around the team that we just
aren’t ready to articulate yet. More to come!
We live in interesting times. New directions in Fedora (the Council, Releng, NEXT, etc.) mean there’s no shortage of infrastructure problems to solve. If you’re interested in helping out, check out our wiki page and join our infrastructure meetings to follow along.