Here is a detailed answer to this frequently asked question.

SF Integrates Zuul

SF is a superset of Zuul, which is similar to the openstack-infra architecture. It provides a complete development forge including:

  • Repository and code review (gerrit and cgit),
  • A log server (httpd, os_loganalyze and ara),
  • Collaborative tools (etherpad, lodgeit and mumble),
  • Issue tracking (storyboard),
  • Artifact analysis (logstash and logreduce),
  • Repository analysis (repoXplorer, code-search), and
  • System metrics (grafana, influxdb, telegraf, statsd).

Most components are optional and version 3.1 includes a zuul-minimal architecture to only deploy Zuul.

SF Distributes Zuul

We can say that SF is for Zuul what Openshift is for Kubernetes:

  • It is a repository of packages to deploy Zuul on EL7. See this previous article: Using system packages instead of pip.
  • It comes with a "cluster up" command called sfconfig that deploys the services.
  • It integrates the service with working default settings so that it is usable out of the box.

SF Contributes to Zuul

Over the years we developed new features in Zuul to improve the user experience. We are dedicated to working with upstream to integrate them in the Zuul source code directly. Here is a highlight list:

Future Contributions

Here is the list of features we picked in the Software Factory version of Zuul and Nodepool that are still under review upstream. We are confident these features will eventually land upstream, but they might evolve by then. They should therefore be considered a "tech preview", although we will do our best to integrate these in the least disruptive way possible.