Introduction

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.

Fedora Infrastructure

Infrastructure Highlights

Ansible Migration

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.

Fedora Infrastructure Ansible Repository

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.

OpenStack migration

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.

Development Highlights

Pagure

Our very own git forge!  It just got a face lift last week and we think it’s pretty cool.

HyperKitty

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.

Koschei

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.

Bodhi2

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.

MirrorManager 2

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.

fedora-packages

This service got a partial rewrite this year, attempting to resolve some data stability issues.

mdapi

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

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
around:

  • 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!

Conclusion

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.