From Fedora Project Wiki
(announcing the change)
Line 13: Line 13:


== Current status ==
== Current status ==
[[Category:ChangeReadyForWrangler]]
[[Category:ChangeAnnounced]]
<!-- When your change proposal page is completed and ready for review and announcement -->
<!-- When your change proposal page is completed and ready for review and announcement -->
<!-- remove Category:ChangePageIncomplete and change it to Category:ChangeReadyForWrangler -->
<!-- remove Category:ChangePageIncomplete and change it to Category:ChangeReadyForWrangler -->
Line 29: Line 29:
ON_QA -> change is fully code complete
ON_QA -> change is fully code complete
-->
-->
* [<will be assigned by the Wrangler> devel thread]
* [https://lists.fedoraproject.org/archives/list/devel-announce@lists.fedoraproject.org/thread/T4TMOSVB2P7ZVNMDJENHZTTKGEJ3TAL3/ Announced]
* [https://discussion.fedoraproject.org/t/f40-change-proposal-build-fedora-iot-using-rpm-ostree-unified-core-self-contained/101959 Discussion thread]
* FESCo issue: <will be assigned by the Wrangler>
* FESCo issue: <will be assigned by the Wrangler>
* Tracker bug: <will be assigned by the Wrangler>
* Tracker bug: <will be assigned by the Wrangler>

Revision as of 16:53, 18 January 2024


Build Fedora IoT using rpm-ostree unified core

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.

Summary

Upstream rpm-ostree development is now focused on "unified core" mode, with plans to deprecate the previous mode in the future. Fedora IoT is the last rpm-ostree based Fedora edition using this older, soon to be deprecated mode with SilverBlue and Kinoite making the change in Fedora 39. This change will align IoT with the other ostree-based editions in Fedora.

Owner

Current status

  • Targeted release: Fedora Linux 40
  • Last updated: 2024-01-18
  • Announced
  • Discussion thread
  • FESCo issue: <will be assigned by the Wrangler>
  • Tracker bug: <will be assigned by the Wrangler>
  • Release notes tracker: <will be assigned by the Wrangler>

Detailed Description

To learn about the differences between unified core and the previous mode, please read the upstream issue. The main advantage is that it is stricter and safer, while enabling some post processing steps to happen during or after the image build. In addition, unified core support is required for bootupd integration in Fedora IoT and to align with other rpm-ostree editions in Fedora.

Related changes (already complete):

Feedback

Benefit to Fedora

The previous mode in rpm-ostree is not maintained anymore, less tested and thus prone to bugs. Moving to unified core will align IoT with what is used to build Fedora CoreOS, SilverBlue and Kinoite as well as benefit from the additional testing those editions receive. Making the change in IoT should also reduce the maintenance burden from the rpm-ostree project as they will be able to remove the old code. Unified core makes composes work the same on the server side as the client side and makes them safer by more strictly confining scriptlet execution.

Scope

  • Proposal owners: Testing with the new mode to ensure there are no regressions.
  • Other developers: N/A
  • Release engineering: #11815
  • Policies and guidelines: N/A (not needed for this Change)
  • Trademark approval: N/A
  • Alignment with Community Initiatives: N/A

Upgrade/compatibility impact

  • There will be no impact to end users, upgrades will work the same as previous releases

How To Test

  • Upgrade to Fedora 40 IoT Edition or deploy a new installation.

User Experience

  • There will be no impact to users.

Dependencies

N/A

Contingency Plan

  • Contingency mechanism: Revert to older non-unified core mode.
  • Contingency deadline: N/A (not a System Wide Change)
  • Blocks release? N/A (not a System Wide Change)

Documentation

N/A (not a System Wide Change)

Release Notes

N/A