From Fedora Project Wiki
m (add bootupd note)
(Add trackers)
(11 intermediate revisions by 2 users 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 ==


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. 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.
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 ==
== Owner ==


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


== Current status ==
== Current status ==
[[Category:ChangePageIncomplete]]
[[Category:ChangeAcceptedF38]]
<!-- 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 28:
ON_QA -> change is fully code complete
ON_QA -> change is fully code complete
-->
-->
* FESCo issue: <will be assigned by the Wrangler>
* [https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/SMADI5DROZC6R6WRQQVEVRJ3MRNTSZ5E/ devel thread]
* Tracker bug: <will be assigned by the Wrangler>
* FESCo issue: [https://pagure.io/fesco/issue/2901 #2901]
* Release notes tracker: <will be assigned by the Wrangler>
* Tracker bug: [https://bugzilla.redhat.com/show_bug.cgi?id=2150984 #2150984]
* Release notes tracker: <will NOT be assigned by the Wrangler>


== Detailed Description ==
== 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:
On top of the advantages listed above, we need unified core support to be able to add bootupd integration to Fedora Silverblue & Kinoite. See:
- TODO: Add link to bootupd change request
* https://fedoraproject.org/wiki/Changes/FedoraSilverblueBootupd
- https://github.com/fedora-silverblue/issue-tracker/issues/120
* https://github.com/fedora-silverblue/issue-tracker/issues/120
- https://pagure.io/workstation-ostree-config/pull-request/313
* https://pagure.io/workstation-ostree-config/pull-request/313


The in-progress changes are in:
The in-progress changes are in:
* Support in Pungi: https://pagure.io/pungi/pull-request/1626 & https://pagure.io/pungi/pull-request/1629
* Support in Pungi: https://pagure.io/pungi/pull-request/1626 & https://pagure.io/pungi/pull-request/1629
* Fedora Pungi configuration change: https://pagure.io/pungi-fedora/pull-request/1115
* Fedora Pungi configuration change: https://pagure.io/pungi-fedora/pull-request/1115
* Testing is in progress and tracked in: https://github.com/fedora-silverblue/issue-tracker/issues/333
* Fedora Silverblue & Kinoite changes in progress in: https://pagure.io/workstation-ostree-config/pull-request/296
* Fedora Silverblue & Kinoite changes in progress in: https://pagure.io/workstation-ostree-config/pull-request/296
GitHub issue used to track this work and testing: https://github.com/fedora-silverblue/issue-tracker/issues/333


== Feedback ==
== Feedback ==
Line 84: Line 87:
== Contingency Plan ==
== Contingency Plan ==


* Contingency mechanism: Revert to non unified core build mode (single change in Fedora's Pungi configuration). Owners will do it.
* 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.
* Contingency deadline: Can happen anytime.
* Blocks release? No
* Blocks release? No

Revision as of 19:02, 5 December 2022

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