This document represents a proposed Change. As part of the Changes process, proposals are publicly announced in order to receive community feedback. This proposal will only be implemented if approved by the Fedora Engineering Steering Committee.
== Summary ==
This change is to promote Fedora CoreOS to Edition status alongside Workstation, Server and IoT.
== Owners ==
* Name: [[User:cverna|Clement Verna]] * Email: cverna@fedoraproject.org
* Products: Fedora CoreOS * Responsible WGs: Fedora CoreOS Group
== Detailed Description ==
This change is to promote Fedora CoreOS to Edition status alongside Workstation, Server and IoT.
[https://fedoraproject.org/wiki/Editions/Promotion_Process#Prerequisites Prerequisites] are tracked bellow :
* Edition has a team with regular public meeting : [https://apps.fedoraproject.org/calendar/meeting/9437/ weekly meeting happening on #fedora-meeting-1]
* Trademark approval from the Fedora Council : [https://pagure.io/Fedora-Council/tickets/issue/340 council ticket]
* Product requirements document (PRD) : https://fedoraproject.org/wiki/CoreOS/PRD
* Technical specification : https://github.com/coreos/fedora-coreos-tracker/blob/master/Design.md
== Feedback ==
This change was previously submitted for Fedora 34 and feedback were collected in the following [https://pagure.io/fesco/issue/2516 FESCo ticket]. The 2 main feedback received are either addressed or in the process of being addressed.
* FCOS should not trail behind the latest Major Fedora version: see [[https://fedoraproject.org/wiki/Changes/FedoraCoreOS#Major_Fedora_Version_rel... Fedora Version release Go/NoGo criteria]]
* FCOS should demonstrate the test case mapping to the Basic Release Criteria: see [[https://fedoraproject.org/wiki/Changes/FedoraCoreOS#Basic_Release_Criteria%7... Release Criteria]]
== Benefit to Fedora ==
Make Fedora CoreOS an official edition, will help spread adoption and position Fedora as credible solution for running container workflow.
We have started to publish monthly update of what is happening in Fedora CoreOS based on the feedback received from [https://discussion.fedoraproject.org/t/fedora-coreos-survey/34408/2 a community survey]. Part of these monthly update are [https://discussion.fedoraproject.org/t/this-month-in-fedora-coreos-may-2022/... the count me stats] which gives us a good understanding of FCOS adoption.
== Scope == * Proposal owners: see change owners
* Other developers: N/A
* Release engineering: Fedora CoreOS is already being composed and released.
* Policies and guidelines: N/A
* Trademark approval: https://pagure.io/Fedora-Council/tickets/issue/340
== How To Test ==
See QA test cases : https://fedoraproject.org/wiki/Category:CoreOS_Test_Cases and Fedora CoreOS own test suite Kola https://github.com/coreos/coreos-assembler/blob/main/docs/kola.md#testing-wi...
We also have regular tests days, for example https://fedoramagazine.org/fedora-coreos-test-day/
=== Basic Release Criteria ===
We are currently evaluating our compliance to the Fedora Basic Release Criteria https://github.com/coreos/fedora-coreos-tracker/issues/1239. This is an effort that will be done during the Fedora 37 development cycle.
==== Supported Architecture and Platforms ====
Fedora CoreOS is currently built for the x86_64, aarch64 and s390x architecture, These [https://docs.fedoraproject.org/en-US/fedora-coreos/platforms/#_well_known_id... platforms] are supported and can be configured directly using Ignition.
The [https://github.com/coreos/mantle/tree/cl/kola kola] test suite is run for each stream release on AWS, Azure, GCP and OpenStack.
==== Stream release Go/NoGo ====
Stream releases are scheduled fortnightly, a GitHub issue ([https://github.com/coreos/fedora-coreos-streams/issues/242 example]) is created for each stream release with the release process. The release status can be tracked in each ticket. If each steps and validation were successful the release is considered GO.
Issues are reported in the [https://github.com/coreos/fedora-coreos-tracker issue tracker] and discussed during the weekly [https://github.com/coreos/fedora-coreos-tracker#meetings IRC meeting]. A stream release can become a NOGO during these meeting, the blocker issue is then linked to the release GitHub issue.
==== Major Fedora Version release Go/NoGo ====
The policies around the Major version rebases are described in Fedora CoreOS document https://github.com/coreos/fedora-coreos-tracker/blob/main/Design.md#major-fe... (see copy below)
The release process integrates with Fedora's release milestones in the following ways:
Fedora Beta Release The next stream is switched over to the new release. Fedora Final Freeze The next stream switches to weekly releases to closely track the GA content set. Fedora General Availability Fedora CoreOS re-orients its release schedule in the following way: Week -1 (Fedora "Go" Decision): next release: next release with final Fedora GA content Week 0 (GA release): triple release: testing release promoted from previous next next release contains latest Fedora N content, including Bodhi updates Week 2: triple release: stable release promoted from previous testing, now fully rebased to Fedora N testing and next are now in sync
== Contingency Plan == Contingency mechanism: (What to do? Who will do it?) Delay promotion until F38
Contingency deadline: F37 Final release date
Blocks release? No
== Documentation == https://docs.fedoraproject.org/en-US/fedora-coreos/
devel-announce@lists.fedoraproject.org