From Fedora Project Wiki
(Change submitted to FESCo)
(fix the email address list - comma not period)
 
(3 intermediate revisions by one other user not shown)
Line 1: Line 1:
= Build Fedora Silverblue & Kinoite using rpm-ostree unified core mode =
= Build Fedora Silverblue & Kinoite using rpm-ostree unified core mode =
{{Change_Proposal_Banner}}


== Summary ==
== Summary ==
Line 10: Line 8:


* Name: [[User:Siosm| Timothée Ravier]], [[User:Tpopela| Tomáš Popela]], [[User:Walters| Colin Walters]]
* Name: [[User:Siosm| Timothée Ravier]], [[User:Tpopela| Tomáš Popela]], [[User:Walters| Colin Walters]]
* Email: <siosm@fedoraproject.org>. <tpopela@fedoraproject.org>, <walters@fedoraproject.org>
* Email: <siosm@fedoraproject.org>, <tpopela@fedoraproject.org>, <walters@fedoraproject.org>




== Current status ==
== Current status ==
[[Category:ChangeReadyForFesco]]
[[Category:ChangeAcceptedF39]]
<!-- 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 22: Line 20:
[[Category:SelfContainedChange]]
[[Category:SelfContainedChange]]


* Targeted release: [[Releases/38 | Fedora Linux 38 ]]  
* Targeted release: [[Releases/39 | Fedora Linux 39 ]]  
* Last updated: <!-- this is an automatic macro — you don't need to change this line -->  {{REVISIONYEAR}}-{{REVISIONMONTH}}-{{REVISIONDAY2}}  
* Last updated: <!-- this is an automatic macro — you don't need to change this line -->  {{REVISIONYEAR}}-{{REVISIONMONTH}}-{{REVISIONDAY2}}  
<!-- After the change proposal is accepted by FESCo, tracking bug is created in Bugzilla and linked to this page  
<!-- After the change proposal is accepted by FESCo, tracking bug is created in Bugzilla and linked to this page  
Line 32: Line 30:
* [https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/SMADI5DROZC6R6WRQQVEVRJ3MRNTSZ5E/ devel thread]
* [https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/SMADI5DROZC6R6WRQQVEVRJ3MRNTSZ5E/ devel thread]
* FESCo issue: [https://pagure.io/fesco/issue/2901 #2901]
* FESCo issue: [https://pagure.io/fesco/issue/2901 #2901]
* Tracker bug: <will be assigned by the Wrangler>
* Tracker bug: [https://bugzilla.redhat.com/show_bug.cgi?id=2150984 #2150984]
* Release notes tracker: <will be assigned by the Wrangler>
* Release notes tracker: <will NOT be assigned by the Wrangler>


== Detailed Description ==
== Detailed Description ==

Latest revision as of 00:07, 14 September 2023

Build Fedora Silverblue & Kinoite using rpm-ostree unified core mode

Summary

rpm-ostree upstream development is focusing on the "unified core" mode and the previous mode is being deprecated. Fedora Silverblue and Fedora Kinoite are currently building using the old mode and we've wanted to move over for a while. The main advantage of the unified core mode is that it is stricter and safer, while enabling some post processing steps to happen during or after the image build.

Owner


Current status

Detailed Description

For more details about the difference between the two mode, you can read the upstream issue: https://github.com/coreos/rpm-ostree/issues/729. See also the history in https://pagure.io/workstation-ostree-config/issue/137.

On top of the advantages listed above, we need unified core support to be able to add bootupd integration to Fedora Silverblue & Kinoite. See:

The in-progress changes are in:

GitHub issue used to track this work and testing: https://github.com/fedora-silverblue/issue-tracker/issues/333

Feedback

None yet.


Benefit to Fedora

The old mode in rpm-ostree is not maintained anymore and less tested thus more prone to bugs. Moving to the new mode will unify Silverblue & Kinoite to the same code that is used to build Fedora CoreOS and that receives a lot of testing. This will remove maintenance burden on the rpm-ostree project as they will thus be able to remove the old code. The new mode also makes composes work the same on the server side and the client side and makes them safer by more strictly confining scriptlets execution.

Scope

  • Proposal owners: Testing of builds with the new mode to make sure there is not regression. The infra & configurations changes for Pungi should be ready.
  • Other developers: N/A
  • Release engineering: N/A
  • Policies and guidelines: N/A (not needed for this Change)
  • Trademark approval: N/A (not needed for this Change)
  • Alignment with Objectives: N/A

Upgrade/compatibility impact

There should be not visible change for users when upgrading. The change only impacts the way the images are composed on the server.

How To Test

Use the commands from the justfile in https://pagure.io/workstation-ostree-config/pull-request/296 to test building in unified core mode. Update an existing installation and verify that everything works as expected. Once we merge that in Rawhide, updating will be enough (no need to rebuild).

User Experience

N/A

Dependencies

N/A

Contingency Plan

  • Contingency mechanism: Revert to non unified core build mode (single change in Fedora's Pungi configuration). Owners will do it. Nothing to do for users.
  • Contingency deadline: Can happen anytime.
  • Blocks release? No

Documentation

N/A

Release Notes

N/A