osbuild-composer icon indicating copy to clipboard operation
osbuild-composer copied to clipboard

Support ignition in simplified-installer and raw-image

Open runcom opened this issue 3 years ago • 4 comments

This patchset is the basic work needed to support ignition in r4e - it doesn't include any blueprint or file injection change as I wanted to maintain it easy to review and since this won't break anything, I think it'll be beneficial to merge this before other work to plumb ignition files/config in the blueprints. This PR also includes a commit that enables kargs injection from the installer and raw-image blueprint to effectively enable passing the artifact an ignition.config.url and test it out. Lastly, to make the work bound to the sysroot.ro=true patch, this also includes https://github.com/osbuild/osbuild-composer/pull/3053

Things missing:

  • the ignition-edge RPM isn't yet packaged anywhere (working with the coreos team to ship it), the source lives https://github.com/fedora-iot/ignition-edge - https://gitlab.com/redhat/centos-stream/rpms/ignition/-/merge_requests/13
  • polish commits
  • the work here is rhel 9 only ~~, I'll port it to 8 too once we have ignition-edge (???)~~
  • ~~add a basic integration test for raw-image and simplified-installer~~

runcom avatar Nov 11 '22 10:11 runcom

/packit build

TomasTomecek avatar Nov 11 '22 11:11 TomasTomecek

sorry about that ^ Friday morning infrastructure problems -_-

TomasTomecek avatar Nov 11 '22 11:11 TomasTomecek

blueprint customization options on osbuild/osbuild-composer#3161

7flying avatar Nov 30 '22 11:11 7flying

ignition works :sunglasses:

runcom avatar Nov 30 '22 16:11 runcom

Picking this up to rebase it after #3166

(@runcom there is a copy of your original code on https://github.com/7flying/osbuild-composer/tree/ignition-poc-from-runcom, just in case)

  • drop https://github.com/7flying/osbuild-composer/commit/59291dbb8ff9c6482362aabd3ef9bd9a47c7c24b: already done by #3178

7flying avatar Dec 13 '22 15:12 7flying

~~Messed up somewhere during the rebase and got a detached head, see https://github.com/osbuild/osbuild-composer/pull/3189~~

7flying avatar Dec 13 '22 17:12 7flying

  • Rebase required changes on https://github.com/osbuild/osbuild-composer/pull/3130/commits/dfa53af87747d9285e1941cfd72dd724f1102352

7flying avatar Dec 14 '22 11:12 7flying

Is this PR still relevant?

teg avatar Dec 15 '22 11:12 teg

yeah, this is the actual ignition enablement but we first need a new 9.2 snapshot and also the 9.2 runners (but don't take my word, I've catching up after PTO)

runcom avatar Dec 15 '22 11:12 runcom

D'oh! I should not have merged PR #3161 first, that's sort of misleading as it is now. @ondrejbudai should I revert the other merged PR? I guess these two should have been combined into one PR.

teg avatar Dec 15 '22 11:12 teg

Is this PR still relevant?

Yes, this is the counterpart for #3161 to do something with the ignition stuff passed in the blueprints into the ISO.

7flying avatar Dec 15 '22 11:12 7flying

D'oh! I should not have merged PR #3161 first, that's sort of misleading as it is now. @ondrejbudai should I revert the other merged PR? I guess these two should have been combined into one PR.

It is fine, #3161 does not break anything, it puts things into the ISO. We do not do anything with those since this PR is missing, and that's it.

We divided the work hence two PRs, it did make sense to us :sweat_smile:

7flying avatar Dec 15 '22 11:12 7flying

rebased after #3161

7flying avatar Dec 15 '22 16:12 7flying

depends on https://github.com/osbuild/osbuild-composer/pull/3134

runcom avatar Dec 19 '22 08:12 runcom

I've looked through this while it was being prepared but didn't look too closely since it kept changing and was marked as draft. I see it's green now, and has been for a couple of weeks. Is it ready to review?

achilleas-k avatar Jan 04 '23 16:01 achilleas-k

I've looked through this while it was being prepared but didn't look too closely since it kept changing and was marked as draft. I see it's green now, and has been for a couple of weeks. Is it ready to review?

it is ready to review but it's still dependent on https://github.com/osbuild/osbuild-composer/pull/3134

runcom avatar Jan 05 '23 09:01 runcom

I'd also like a more descriptive commit message on the last commit ("wire ignition").

that's one last WIP I have - I'll polish everything up for a final review anyway

runcom avatar Jan 11 '23 12:01 runcom

tests are green - I'm gonna polish this all tomorrow, pending a tiny decision about ignition.embedded.url and adding a test for raw image (just ignition.firstboot)

runcom avatar Jan 11 '23 18:01 runcom

Also, in the kernel options in the manifests I'm seeing ...modprobe.blacklist=vc4,rw,,coreos.no_persist_ip,... (an empty option between rw and coreos.no_persist_ip) but I can't pinpoint where it's coming from.

@achilleas-k I found it, comes from customization.GetKernel() and how we append - basically checking for nil there isn't sufficient cause it's never nil - I need to check that Append isn't empty before appending

runcom avatar Jan 12 '23 09:01 runcom

should be good for another review now :thinking: tests are green

runcom avatar Jan 12 '23 15:01 runcom