No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
= Build Fedora Workstation live ISO with image builder = | = Build Fedora Workstation live ISO with image builder = | ||
Line 12: | Line 4: | ||
== Summary == | == Summary == | ||
Image builder is a set of modern tools for building operating system images. Its goal is to make the builds reliable and reproducible. Moreover, it's designed to give the end users a simple workflow to build their own custom images. The aim of this change is to switch the build tool for Fedora Workstation live ISO from livemedia-creator to image builder. | |||
== Owner == | == Owner == | ||
* Name: [[User:obudai|Ondřej Budai]] | |||
* Email: obudai@redhat.com | |||
* Name: [[User:jkonecny|Jiří Konečný]] | |||
* Email: jkonecny@redhat.com | |||
* Name: [[User: | * Name: [[User:Supakeen|Simon de Vlieger]] | ||
* Email: supakeen@redhat.com | |||
* Email: | |||
* | |||
Line 34: | Line 22: | ||
<!-- After review, the Wrangler will move your page to Category:ChangeReadyForFesco... if it still needs more work it will move back to Category:ChangePageIncomplete--> | <!-- After review, the Wrangler will move your page to Category:ChangeReadyForFesco... if it still needs more work it will move back to Category:ChangePageIncomplete--> | ||
[[Category:SystemWideChange]] | |||
* Targeted release: [https://docs.fedoraproject.org/en-US/releases/ | * Targeted release: [https://docs.fedoraproject.org/en-US/releases/f39/ 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 52: | Line 38: | ||
== Detailed Description == | == Detailed Description == | ||
Image builder is currently getting support for building [https://github.com/osbuild/osbuild-composer/pull/3440 live ISOs]. Once the PR implementing the new image type is merged, [https://pagure.io/pungi-fedora/blob/8b2c85799cce5c096484cdebe1dbe521eaf7fe92/f/fedora.conf#_530 the pungi-fedora configuration] needs to be updated. This change will ensure that pungi creates an osbuildImage task in koji instead of the currently used livemedia one. | |||
Pungi and Koji already support image builder, so no additional work is required there (refer to the [https://docs.pagure.org/pungi/configuration.html#osbuild-composer-for-building-images pungi] and [https://github.com/osbuild/koji-osbuild/ koji] documentation). The only missing part in terms of infrastructure is provisioning ppc64le worker machines for image builder, see the relevant [https://pagure.io/fedora-infrastructure/issue/11243 fedora-infra ticket]. | |||
Note that image builder is already used for [https://fedoraproject.org/wiki/Changes/IoTArtifactsWithOSBuild building ISOs and raw disks of Fedora IoT]. Therefore, this proposal does not introduce a new tool to the Fedora build pipeline. | |||
== Feedback == | == Feedback == | ||
Line 58: | Line 48: | ||
== Benefit to Fedora == | == Benefit to Fedora == | ||
The maintainer team of image builder believes that the project undergoes more comprehensive testing compared to lorax/livemedia-creator. Thus, by switching to image builder, Fedora should experience fewer issues with the image building pipeline. | |||
Another advantage is the project's emphasis on making image builder more user-friendly. End users can easily build their own customized version of the live ISO using a simple [https://www.osbuild.org/guides/image-builder-on-premises/blueprint-reference.html TOML blueprint file] and a [https://www.osbuild.org/guides/image-builder-on-premises/building-an-image-from-cli.html CLI interface]. This approach, utilizing well-known file formats, is a positive step compared to livemedia-creator's kickstart files. More information about building customized images can found on [https://major.io/2022/05/06/build-a-custom-centos-stream-9-cloud-image/ Major Hayden's blog] or in [https://www.youtube.com/watch?v=PsQySAEOeFs&t=17001s a conference talk] given by Ondřej Budai, one of the proposal owners. Moreover, image builder provides [https://github.com/osbuild/cockpit-composer/ a graphical interface] for visually defining blueprints, further simplifying the workflow. | |||
We believe that image builder can also be beneficial to the [https://fedoraproject.org/wiki/Respins-SIG Respins SIG] as it nicely aligns with their objective of providing a simple method for building up-to-date, customizable images. | |||
== Scope == | == Scope == | ||
* Proposal owners: | * Proposal owners: | ||
Finishing implementing support for the live ISO upstream and collaborate with release engineering to switch the pungi config to use image builder. | |||
* Other developers: | * Other developers: | ||
Our focus for this change is specifically on Fedora Workstation. Nevertheless, we are open to collaborating with all spins/SIG to transition their build pipelines to image builder. However, for the initial switch, we aim to minimize the impact by focusing on a single artifact. We anticipate that more artifacts will be transitioned in subsequent releases of Fedora Linux. | |||
* Release engineering: [https://pagure.io/releng/issues #Releng issue number] <!-- REQUIRED FOR SYSTEM WIDE CHANGES --> | * Release engineering: [https://pagure.io/releng/issues #Releng issue number] <!-- REQUIRED FOR SYSTEM WIDE CHANGES --> | ||
Provide ppc64le machines to image builder. Switch the pungi config to use image builder. | |||
TODO!!! | |||
* Policies and guidelines: N/A (not needed for this Change) <!-- REQUIRED FOR SYSTEM WIDE CHANGES --> | * Policies and guidelines: N/A (not needed for this Change) <!-- REQUIRED FOR SYSTEM WIDE CHANGES --> | ||
* Trademark approval: N/A (not needed for this Change) | * Trademark approval: N/A (not needed for this Change) | ||
Line 107: | Line 76: | ||
== Upgrade/compatibility impact == | == Upgrade/compatibility impact == | ||
There shouldn't be any. The goal of this proposal is to build the same images as livemedia-creator does, just using a different tooling. | |||
== How To Test == | == How To Test == | ||
Once the pungi config is changed, grab the ISO built by image builder and test if there are any unexpected changes. | |||
== User Experience == | == User Experience == | ||
No change is expected. | |||
== Dependencies == | == Dependencies == | ||
The Workstation SIG and the installer team are working on a change to use the new installer web UI for the Workstation live ISO. We are fully aware of this change and have the capability to build ISOs with and without the new UI. As a result, these changes should be independent of each other. Furthermore, the installer and image builder teams are closely collaborating, ensuring that any issues that may arise can be addressed with high priority. | |||
== Contingency Plan == | == Contingency Plan == | ||
<!-- If you cannot complete your feature by the final development freeze, what is the backup plan? This might be as simple as "Revert the shipped configuration". Or it might not (e.g. rebuilding a number of dependent packages). If you feature is not completed in time we want to assure others that other parts of Fedora will not be in jeopardy. --> | <!-- If you cannot complete your feature by the final development freeze, what is the backup plan? This might be as simple as "Revert the shipped configuration". Or it might not (e.g. rebuilding a number of dependent packages). If you feature is not completed in time we want to assure others that other parts of Fedora will not be in jeopardy. --> | ||
* Contingency mechanism: (What to do? Who will do it?) | * Contingency mechanism: (What to do? Who will do it?) Release engineering to revert the change in pungi, so that the old tooling is used instead. | ||
<!-- When is the last time the contingency mechanism can be put in place? This will typically be the beta freeze. --> | <!-- When is the last time the contingency mechanism can be put in place? This will typically be the beta freeze. --> | ||
* Contingency deadline: | * Contingency deadline: Final freeze (the change is trivially revertable) | ||
<!-- Does finishing this feature block the release, or can we ship with the feature in incomplete state? --> | <!-- Does finishing this feature block the release, or can we ship with the feature in incomplete state? --> | ||
* Blocks release? | * Blocks release? No | ||
== Documentation == | == Documentation == | ||
N/A | |||
N/A | |||
== Release Notes == | == Release Notes == | ||
TODO! | |||
<!-- The Fedora Release Notes inform end-users about what is new in the release. Examples of past release notes are at https://docs.fedoraproject.org/en-US/fedora/latest/release-notes/ --> | <!-- The Fedora Release Notes inform end-users about what is new in the release. Examples of past release notes are at https://docs.fedoraproject.org/en-US/fedora/latest/release-notes/ --> | ||
<!-- The release notes also help users know how to deal with platform changes such as ABIs/APIs, configuration or data file formats, or upgrade concerns. If there are any such changes involved in this change, indicate them here. A link to upstream documentation will often satisfy this need. This information forms the basis of the release notes edited by the documentation team and shipped with the release. | <!-- The release notes also help users know how to deal with platform changes such as ABIs/APIs, configuration or data file formats, or upgrade concerns. If there are any such changes involved in this change, indicate them here. A link to upstream documentation will often satisfy this need. This information forms the basis of the release notes edited by the documentation team and shipped with the release. |
Revision as of 20:15, 23 June 2023
Build Fedora Workstation live ISO with image builder
Summary
Image builder is a set of modern tools for building operating system images. Its goal is to make the builds reliable and reproducible. Moreover, it's designed to give the end users a simple workflow to build their own custom images. The aim of this change is to switch the build tool for Fedora Workstation live ISO from livemedia-creator to image builder.
Owner
- Name: Ondřej Budai
- Email: obudai@redhat.com
- Name: Jiří Konečný
- Email: jkonecny@redhat.com
- Name: Simon de Vlieger
- Email: supakeen@redhat.com
Current status
- Targeted release: Fedora Linux 39
- Last updated: 2023-06-23
- [<will be assigned by the Wrangler> devel 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
Image builder is currently getting support for building live ISOs. Once the PR implementing the new image type is merged, the pungi-fedora configuration needs to be updated. This change will ensure that pungi creates an osbuildImage task in koji instead of the currently used livemedia one.
Pungi and Koji already support image builder, so no additional work is required there (refer to the pungi and koji documentation). The only missing part in terms of infrastructure is provisioning ppc64le worker machines for image builder, see the relevant fedora-infra ticket.
Note that image builder is already used for building ISOs and raw disks of Fedora IoT. Therefore, this proposal does not introduce a new tool to the Fedora build pipeline.
Feedback
Benefit to Fedora
The maintainer team of image builder believes that the project undergoes more comprehensive testing compared to lorax/livemedia-creator. Thus, by switching to image builder, Fedora should experience fewer issues with the image building pipeline.
Another advantage is the project's emphasis on making image builder more user-friendly. End users can easily build their own customized version of the live ISO using a simple TOML blueprint file and a CLI interface. This approach, utilizing well-known file formats, is a positive step compared to livemedia-creator's kickstart files. More information about building customized images can found on Major Hayden's blog or in a conference talk given by Ondřej Budai, one of the proposal owners. Moreover, image builder provides a graphical interface for visually defining blueprints, further simplifying the workflow.
We believe that image builder can also be beneficial to the Respins SIG as it nicely aligns with their objective of providing a simple method for building up-to-date, customizable images.
Scope
- Proposal owners:
Finishing implementing support for the live ISO upstream and collaborate with release engineering to switch the pungi config to use image builder.
- Other developers:
Our focus for this change is specifically on Fedora Workstation. Nevertheless, we are open to collaborating with all spins/SIG to transition their build pipelines to image builder. However, for the initial switch, we aim to minimize the impact by focusing on a single artifact. We anticipate that more artifacts will be transitioned in subsequent releases of Fedora Linux.
- Release engineering: #Releng issue number
Provide ppc64le machines to image builder. Switch the pungi config to use image builder.
TODO!!!
- Policies and guidelines: N/A (not needed for this Change)
- Trademark approval: N/A (not needed for this Change)
- Alignment with Community Initiatives:
Upgrade/compatibility impact
There shouldn't be any. The goal of this proposal is to build the same images as livemedia-creator does, just using a different tooling.
How To Test
Once the pungi config is changed, grab the ISO built by image builder and test if there are any unexpected changes.
User Experience
No change is expected.
Dependencies
The Workstation SIG and the installer team are working on a change to use the new installer web UI for the Workstation live ISO. We are fully aware of this change and have the capability to build ISOs with and without the new UI. As a result, these changes should be independent of each other. Furthermore, the installer and image builder teams are closely collaborating, ensuring that any issues that may arise can be addressed with high priority.
Contingency Plan
- Contingency mechanism: (What to do? Who will do it?) Release engineering to revert the change in pungi, so that the old tooling is used instead.
- Contingency deadline: Final freeze (the change is trivially revertable)
- Blocks release? No
Documentation
N/A
Release Notes
TODO!