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.smith@xxxxxxxxx * Name: [[User:haircommander| Peter Hunt]] * Email: pehunt@xxxxxxxxxx == 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-announce@xxxxxxxxxxxxxxxxxxxxxxx To unsubscribe send an email to devel-announce-leave@xxxxxxxxxxxxxxxxxxxxxxx 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-announce@xxxxxxxxxxxxxxxxxxxxxxx Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue -- _______________________________________________ devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx 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@xxxxxxxxxxxxxxxxxxxxxxx Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue