feat(vm): RHCOS last mile — operator-supplied image + opt-in#51
Merged
Conversation
RHCOS shares Fedora CoreOS's Ignition boot path (implemented + proven on FCOS), so the only remaining gap was the image, which ships with an OpenShift release rather than a public cloud-image URL. Add the operator on-ramp: - `make rhcos-image RHCOS_IMAGE=/path/to/rhcos.qcow2` (or RHCOS_IMAGE_URL=...) stages the operator's image at vm/cache/rhcos-4.16.qcow2; handles gz/xz. Header documents obtaining the URL via `openshift-install coreos print-stream-json`. - `BPFCOMPAT_ENABLE_RHCOS=1` opt-in flips ExecutionTransport for rhcos to supported (it then boots via the same Ignition path). Cataloged in envref + docs/env-reference.md. Default stays unsupported with a precise reason pointing at the two steps, so RHCOS is never claimed runnable without a real image, and it remains absent from the README "Distributions covered" section. Tests: transport opt-in path + default-off path; env-docs regenerated. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Takes RHEL CoreOS the last mile. The boot path was solved in #50 (RHCOS shares Fedora CoreOS's Ignition boot, which is implemented and proven on FCOS); the only remaining gap was the image, which ships with an OpenShift release rather than a public cloud-image URL. This adds the operator on-ramp.
How an operator enables RHCOS
openshift-install coreos print-stream-json | jq -r '.architectures.x86_64.artifacts.qemu.formats["qcow2.gz"].disk.location'— or an internal mirror.make rhcos-image RHCOS_IMAGE=/path/to/rhcos.qcow2(orRHCOS_IMAGE_URL=https://...; gz/xz auto-decompressed).BPFCOMPAT_ENABLE_RHCOS=1 bpfcompat test --runner vm ...— it then boots via the same Ignition path and load/attaches the artifact inside RHCOS.Honesty preserved (default off)
BPFCOMPAT_ENABLE_RHCOSunset,ExecutionTransport()keepsrhcosunsupported, with a precise reason pointing at the two steps — so RHCOS is never claimed runnable without a real image present.rhcosstays absent from the README "Distributions covered" section.internal/envref+ regenerateddocs/env-reference.md(env-docs-check passes).Changes
internal/vm/transport.go:BPFCOMPAT_ENABLE_RHCOSopt-in flips rhcos/rhel-coreos to supported.vm/scripts/fetch-rhcos-image.sh+make rhcos-image: stage an operator-supplied local path or URL.Verify
go build/vet,gofmt,env-docs-check,go test ./internal/...— all green.🤖 Generated with Claude Code