This is a proposed Change for Fedora Linux.
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.

Wiki - https://fedoraproject.org/wiki/Changes/VersionedCRI-OandCRI-ToolsPackages
Discussion Thread -
https://discussion.fedoraproject.org/t/f41-change-proposal-multiple-versioned-cri-o-and-cri-tools-packages-self-contained/116526

== Summary ==
The installed versions of CRI-O and CRI-Tools are supposed to match
the version of Kubernetes that they are deployed with. FESCo recently
approved multiple, versioned packages for Kubernetes
(https://fedoraproject.org/wiki/Changes/VersionedKubernetesPackages).
This Change Request, if approved, will allow Fedora to also provide
matching versions of CRI-O and CRI-Tools for Kubernetes administrators
that use Fedora as the base machine OS.

== Owner ==
* Name: [[User:Buckaroogeek| Brad Smith]]
* Email: bradley.g.sm...@gmail.com

* Name: [[User:haircommander| Peter Hunt]]
* Email: peh...@redhat.com


== Detailed Description ==
Both CRI-O (https://src.fedoraproject.org/rpms/cri-o, upstream:
https://github.com/cri-o/cri-o) and CRI-Tools
(https://src.fedoraproject.org/rpms/cri-tools, upstream:
https://github.com/kubernetes-sigs/cri-tools) are designed to version
match the version of Kubernetes they are deployed with. Version
matching is a guarantee to Kubernetes administrators that these
components use the same API version of the target Kubernetes
installation.

Starting in Fedora 41, users will be able to install any supported
version of Kubernetes (typically 3 concurrent, supported versions)
using, for example, "dnf install kubernetes1.30". This Change, if
approved would allow the user to also install CRI-O and/or CRI-Tools
with the same version, i.e. "dnf install cri-o1.30 kubernetes1.30" or
"dnf install cri-tools1.30" to work with any version 1.30 CRI
(Container Runtime Interface) implementation.

CRI-O is a well-regarded CRI implementation. Each Kubernetes cluster
requires a CRI implementation such as cri-o to function. Alternatives
include containerd or Docker Engine among others.

CRI-Tools contains the crictl command line interface tool that
provides a CLI for CRI-compatible container runtimes. This allows the
CRI runtime developers to debug their runtime without needing to set
up Kubernetes components.

== Feedback ==
TBD

== Benefit to Fedora ==

Enthusiasts and kubernetes administrators and developers will have
access to the full stack of properly versioned components to install
and manage a Kubernetes cluster directly from Fedora repositories. All
supported versions of Kubernetes and related components such as CRI-O
and CRI-Tools will be available in each of the supported releases of
Fedora, starting with Fedora 41.

The past practice of tying a specific version of Kubernetes to a
release of Fedora created an unnecessary tight coupling between Fedora
and Kubernetes for cluster administrators and developers. In order to
change the version of either Kubernetes or Fedora, the version of the
other component also needed to change. This proposal provides changes
that finalize the uncoupling of Fedora releases and Kubernetes cluster
versions.

== Scope ==
* Proposal owners: Request appropriate src.fedoraproject.org
repositories from Fedora engineering and maintain those repositories.

* Policies and guidelines: N/A (not needed for this Change)

* Trademark approval: N/A (not needed for this Change)

* Alignment with the Fedora Strategy: This proposal enhances Fedora's
strengths in Technology and Innovation as it enhances the use of
Fedora to function as the machine OS for any supported version of
Kubernetes and as the administrator's workstation for all supported
Kubernetes clusters regardless of where the cluster is deployed.

== Upgrade/compatibility impact ==
The shift from the existing model to the versioned model could create
friction for current users of CRI-O or CRI-Tools on Fedora. Proper use
of Provides and Obsoletes in the spec files as well as a supporting
communication plan will help to reduce those complications.


== Early Testing (Optional) ==

Do you require 'QA Blueprint' support? N

== How To Test ==
# 1. Install a versioned CRI-O or CRI-Tools package on a fresh
instance of Fedora. Install should be error free.
# 2. On an existing Fedora machine, replace a non-versioned CRI-O or
CRI-Tools package with a versioned package. There should not be any
errors.



== User Experience ==
The user experience should remain unchanged except for the need to
select a specific version of CRI-O or CRI-Tools.




== Dependencies ==
No direct dependencies. If Kubernetes is installed and used then CRI-O
and Kubernetes should have the same major:minor version. As a command
line tool,  the version of CRI-Tools will be selected by the user
based on their specific requirements and needs.




== Contingency Plan ==

* Contingency mechanism: N/A (not a System Wide Change)
* Contingency deadline: N/A (not a System Wide Change)
* Blocks release? N/A (not a System Wide Change)


== Documentation ==

The Kubernetes section of Fedora Quick Docs
(https://docs.fedoraproject.org/en-US/quick-docs/using-kubernetes/)
can be expanded as needed.

<!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
N/A (not a System Wide Change)

== Release Notes ==

-- 
Aoife Moloney

Fedora Operations Architect

Fedora Project

Matrix: @amoloney:fedora.im

IRC: amoloney
--
_______________________________________________
devel-announce mailing list -- devel-annou...@lists.fedoraproject.org
To unsubscribe send an email to devel-announce-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel-annou...@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue
--
_______________________________________________
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue

Reply via email to