Re: F39 Change Proposal: Build Fedora Workstation live ISO with Image Builder (System-Wide)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Jun 26, 2023 at 4:14 PM Adam Williamson
<adamwill@xxxxxxxxxxxxxxxxx> wrote:
>
> On Mon, 2023-06-26 at 15:33 +0100, Aoife Moloney wrote:
> > https://fedoraproject.org/wiki/Changes/FedoraWorkstationImageBuilder
> >
> > 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 ==
> > 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: [[User:obudai|Ondřej Budai]]
> > * Email: obudai@xxxxxxxxxx
> > * Name: [[User:Supakeen|Simon de Vlieger]]
> > * Email: supakeen@xxxxxxxxxx
> > * Name: [[User:jkonecny|Jiří Konečný]]
> > * Email: jkonecny@xxxxxxxxxx
> >
> >
> >
> > == 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 ==
> >
> > Currently, Image Builder does not populate the DNF database correctly,
> > leading to all RPMs installed on the target system being marked as
> > user-installed. This is [https://github.com/osbuild/osbuild/issues/455
> > a known issue] that the team is planning to address as soon as the
> > initial support for live ISOs is merged.
> >
> >
> > == 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/p/build-custom-centos-stream-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 ==
> > * 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: [https://pagure.io/releng/issue/11500 #11500]
> > Provide ppc64le machines to Image Builder. Switch the pungi config to
> > use Image Builder.
> >
> > * 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 revertible)
> >
> > * Blocks release? No
> >
> >
> > == Documentation ==
> > N/A
> >
> > == Release Notes ==
> > Fedora Workstations ISOs are now built using Image Builder instead of
> > the legacy tooling used before.
>
> So, I don't want to throw any stop energy at this, but I have some
> nitpicks.
>
> In terms of testing: we already test the existing toolchain pretty
> effectively in practice. openQA builds Workstation and KDE live images
> with every relevant critical path update. If an update breaks live
> image creation, we find out about it right away, and the update is
> gated.
>
> In terms of file formats: is toml really that much better known or
> better than kickstart, for an audience of Fedora devs, for the purpose
> of building a live image? Especially now we (finally) got the livesys
> stuff out of the kickstarts and they're mostly pretty simple? As a
> specific nitpick, the documentation on the Image Builder format makes
> it clear that it supports comps groups, but it's less clear if it
> supports comps *environment* groups. It really needs to do so to
> maintain parity with livemedia-creator; we don't want to have to define
> all the environment groups twice (once in comps, once in imagebuilder
> TOML files). If it does support this, it should be made clear in the
> docs.
>
> I notice the Change doesn't say much about debugging failed builds.
> This is very important. Failed livemedia-creator tasks are quite easy
> to debug. livemedia-creator as run in Koji by Pungi is very good at
> providing sufficient logs to determine what the heck went wrong if an
> image build fails. Other tools - notably ImageFactory - are notoriously
> much worse at this. Where does Image Builder fall?
>
> As I said, I'm not saying we shouldn't do this. But I do think that if
> it doesn't provide any really compelling benefits over livemedia-
> creator, we should set a high bar for it also not having any
> significant *drawbacks* compared with livemedia-creator.

Additionally, do we have support for the layering/composition model
for configuration snippets for blueprints like we do for kickstarts or
kiwi descriptions? Without that, it's going to be hard to structure
this in a way where we have reuse and separation of maintained
configuration.

Being unable to DRY the blueprints would be a big regression and quite
painful for long-term maintenance of the image definitions.


-- 
真実はいつも一つ!/ Always, there's only one truth!
_______________________________________________
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




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Users]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]

  Powered by Linux