The so-called "Factory 2.0"

Presented at Flock 2016 by @ralphbean.

Slides available at

The Eternal September

A fun tidbit of Hacker Lore:

Also called the September that never ended, the Eternal September is Usenet slang for a period beginning in September 1993, the month that Internet service provider America Online began offering Usenet access to its many users, overwhelming the existing culture for online forums.

The Second Eternal September

and the rise of github

This is fine.

Consequent Changes

To application development and deployment:

pip freeze > requirements.txt # ship it!

To the traditional linux distribution:



But first,

How not to throw things over the wall

What Factory 2.0 is not

We had a problem from the outset. Lots of myths started to propagate about "Factory 2.0".

the same "thing"

under different interpretation

... and why it took us so long to get here.

How long ago was it that we started talking about the Rings proposal?

the six problem statements

(we made a list)

If we had problems before...

...they're about to get a lot worse.

Dependency Chain

Problem Number 6

There’s no easy way to trace deps from upstream to product (through all intermediaries).

So, that's great. But there's no easy way to traverse deps all the way from upstream component to end artifacts.

Let's expand pdc-updater.

And then we can use that data for great justice.

Pipeline Serialization

Problem Number 2

Unnecessary serialization makes the pipeline slow.

This is less a problem for Fedora's Infrastructure than it is for the internal PnT DevOps environment: things happen, unnecessarily, in serial.

One big piece we (will) share here is the Openshift Build Service (OSBS) for building containers. We're going to need to crack the nut to get around new problems (assuming we "go big" with containers).

Internally we're going to be using a special build key for this -- which we'll treat as semantically different from the gold key. Let's consider doing the same in Fedora.

Automating Throughput

Problem Number 1

Repetitive human intervention makes the pipeline slow.

This one can cover a lot of ground.

Automating Throughput

Rebuilds and Composes



Automating Throughput


Flexible Cadence

Problem Number 3

The pipeline imposes a rigid and inflexible cadence on "products".



Let's talk about pkgdb2 and its collections model.


All Roads Lead to Rome

The distro is defined by packages, not “features”.

Building Modules

Artifact Assumptions

Problem Number 4

The pipeline makes assumptions about the content being shipped.

this is fine

Artifact Assumptions

Problem Number 4

The pernicious hobgoblin

of technical debt

Thank you


Presented at Flock 2016 by @ralphbean.

Slides available at

Left, Down, Page DownNext slide
Right, Up, Page UpPrevious slide
POpen presenter console
HToggle this help