-
Notifications
You must be signed in to change notification settings - Fork 477
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
1 parent
5029985
commit 185951a
Showing
1 changed file
with
76 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,76 @@ | ||
--- | ||
title: OKD on Fedora CoreOS | ||
authors: | ||
- "@LorbusChris" | ||
reviewers: | ||
- "@smarterclayton" | ||
- "@miabbott" | ||
- "@ashcrow" | ||
- "@runcom" | ||
- "@darkmuggle" | ||
- "@vrutkovs" | ||
approvers: | ||
creation-date: 2019-10-21 | ||
last-updated: 2019-10-21 | ||
status: provisional|implementable|implemented|deferred|rejected|withdrawn|replaced | ||
see-also: | ||
replaces: | ||
superseded-by: | ||
--- | ||
|
||
# OKD-on-Fedora-CoreOS | ||
|
||
## Release Signoff Checklist | ||
|
||
- [ ] Enhancement is `implementable` | ||
- [ ] Design details are appropriately documented from clear requirements | ||
- [ ] Test plan is defined | ||
- [ ] Graduation criteria for dev preview, tech preview, GA | ||
- [ ] User-facing documentation is created in [openshift/docs] | ||
|
||
## Open Questions [optional] | ||
|
||
1. This proposal potentially requires addition of non-Koji-built RPMs from OpenShift's Prow CI instance to Fedora CoreOS composes. Can we do this? If yes, how do we do this? | ||
2. What is the specific list of operators that will go into OKD-on-FCoS? | ||
|
||
Please see the Graduation Criteria section for more context on both open questions. | ||
|
||
## Summary | ||
|
||
A proposal to create components of an OKD variant that runs atop Fedora CoreOS and to use OpenShift's Prow instance to do so. | ||
|
||
As part of the version 4 effort, the OKD working group has agreed to target Fedora CoreOS (FCoS) as the primary base operating system for builds of version 4 of the OKD Community Distribution that is powered by the OpenShift codebase. | ||
|
||
This document proposes to incrementally add Prow CI jobs to create Fedora-based artifacts for use in OKD version 4. | ||
|
||
## Motivation | ||
|
||
Delivering continuous builds of version 4 of OKD, based on Fedora CoreOS. | ||
|
||
### Goals | ||
|
||
The broader goal is to create automated builds of all components needed for the OKD-on-FCoS effort, with a preference on running RPM build jobs in Fedora containers, and exclusively using RPMs from official Fedora repositories for Fedora CoreOS composes. Container artifacts from UBI based CI builds for OCP may be re-used, however artifacts that come from RHEL container based builds may not be re-used to build OKD. | ||
|
||
### Non-Goals | ||
|
||
The migration to Ignition Spec v3 is not part of this proposal. | ||
|
||
## Proposal | ||
|
||
In order to create automated builds of OKD-on-FCoS, OpenShift's Prow instance shall be used to run jobs to build all required components/artifacts in Fedora containers. The definitions of these jobs will live side by side with the already existing definitions for OCP jobs in the `openshift/release` repository, on the respective operators' repos. Operators that will not go into OKD can be disregarded from this effort. | ||
|
||
### Graduation Criteria | ||
|
||
Specifically, success of this proposal will be measured by the following: | ||
- RPMs that are dependencies of OpenShift's codebase in the base OS are built continuously in a Fedora environment: `cri-o`, `openshift-hyperkube`, `openshift-clients`, `machine-config-daemon` | ||
- **Open Question**: How are builds promoted from Prow CI to FCoS release composes? | ||
- Possible alternative to Prow promotion: Automated Fedora Koji RPM builds with packit-service CI (would need implementation work) | ||
- Fedora CoreOS composes that contain up-to-date versions of the aforementioned dependencies are built continuously. | ||
- Fedora RPM based `machine-os-content` containers are built continuously, with promotion gating for each minor version release stream. | ||
- All Operators that are part of OKD-on-FCoS are continuously available as either Fedora or UBI-based container images. | ||
- **Open Question**: What is the specific list of operators that will go into OKD-on-FCoS? | ||
|
||
## Infrastructure Needed [optional] | ||
|
||
- Prow CI compute | ||
- Storage and/or registries for CI artifacts (RPMs, machine-os-content containers, and operator containers) |