Skip to content

ci: Regenerate the initramfs after installing bootc from copr - #1168

Merged
cgwalters merged 1 commit into
coreos:mainfrom
cgwalters-forge:bot/ci-regen-initramfs
Oct 9, 2026
Merged

cgwalters merged 1 commit into
coreos:mainfrom
cgwalters-forge:bot/ci-regen-initramfs

Conversation

@cgwalters-bot

Copy link
Copy Markdown
Contributor

The CI image installs bootc from copr on top of centos-bootc but keeps the base image's initramfs. Current bootc writes only composefs.digest= in BLS entries, while the bootc 1.16.13 initramfs in centos-bootc:stream10 only starts bootc-root-setup.service with a composefs karg, so the composefs UEFI boot test ends in emergency mode (job). A newer bootc with an older initramfs isn't supported, so this regenerates the initramfs after installing bootc.

Tested on a 16-core RHEL 10 devspace, with the stream10 image built from Dockerfile (copr bootc 202609261137.g83d1589142) and rootless equivalents of the bootc-e2e steps (bcvk to-disk --filesystem ext4 in place of the privileged bootc install to-disk --via-loopback, then the same OVMF QEMU boot as scripts/test-uefi-vm-boot.sh):

  • The initramfs unit now has ConditionKernelCommandLine=|composefs.digest (before: only =composefs).
  • composefs UEFI boot: reaches login: with this change; on main it fails with "Failed to start initrd-switch-root.service" and enters emergency mode.
  • ostree UEFI boot reaches login: with this change.
  • tests/tests/bootupctl-status-in-bootc.sh and the build's bootc container lint --fatal-warnings pass.

Not run: the stream9, aarch64 and grubcc=1 (Fedora, Dockerfile.bls, which doesn't use the copr) variants, and the BIOS boot test.

Generated-by: https://github.com/cgwalters/#llms

The CI image replaces the base image's bootc with a newer build from
copr but keeps the base image's initramfs, which bootc doesn't support.
It broke the stream10 composefs UEFI boot test once bootc started
writing only composefs.digest= in BLS entries: the bootc 1.16.13
initramfs in centos-bootc:stream10 only starts bootc-root-setup.service
with a composefs= karg, so switch-root fails.

Generated-by: AI
@openshift-ci

openshift-ci Bot commented Oct 7, 2026

Copy link
Copy Markdown

Hi @cgwalters-bot. Thanks for your PR.

I'm waiting for a coreos member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work.

Regular contributors should join the org to skip this step.

Once the patch is verified, the new status will be reflected by the ok-to-test label.

I understand the commands that are listed here.

Details

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

@coderabbitai

coderabbitai Bot commented Oct 7, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration
  • Configuration used: Repository: coreos/bootupd/.coderabbit.yaml
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 90c73026-b23d-48ac-9765-a2149b825eed
📥 Commits

Reviewing files that changed from the base of the PR and between c5de0ad and 35948c7.

📒 Files selected for processing (1)
  • Dockerfile

Included review availability: This review used your included allowance. Your plan provides up to 2 included reviews per hour; 1 remain after this review.

📜 Recent review details
⏰ Context from checks skipped due to timeout. (8)
  • GitHub Check: testing-farm:fedora-rawhide-x86_64
  • GitHub Check: testing-farm:centos-stream-10-x86_64
  • GitHub Check: rpm-build:centos-stream-10-x86_64
  • GitHub Check: rpm-build:fedora-rawhide-x86_64
  • GitHub Check: testing-farm:fedora-rawhide-x86_64
  • GitHub Check: testing-farm:centos-stream-10-x86_64
  • GitHub Check: rpm-build:fedora-rawhide-x86_64
  • GitHub Check: rpm-build:centos-stream-10-x86_64
🔇 Additional comments (1)
Dockerfile (1)

39-39: 🎯 Functional Correctness

The multiple-directory condition remains undecidable. The comment also incorrectly calls Stream 9 and aarch64 untested; .github/workflows/ci.yml:23-38 tests both Stream 9 and Stream 10 on x86_64 and aarch64. Current contents of the moving image tags are unavailable, so the suggested failure cannot be confirmed or rejected.


📝 Walkthrough

Walkthrough

The Dockerfile now regenerates the initramfs after installing bootc. It selects the kernel version from /usr/lib/modules and runs dracut --force to write that kernel’s initramfs.img.

Changes

Image build

Layer / File(s) Summary
Regenerate the initramfs
Dockerfile
After installing bootc, the build selects a kernel version from /usr/lib/modules and runs dracut --force to replace that kernel’s initramfs.img.

Priority: ➖ Normal

Estimated code review effort: 2 (Simple) | ~10 minutes

Change: Bug fix

Suggested reviewers: rolv-apneseth

Merge Risk: ⚪ Minimal · up to 35948

The initramfs regeneration has no confirmed merge-blocking issue. The untested image variants remain worth checking through normal CI.

🚥 Pre-merge checks | ✅ 4 | ❌ 2

❌ Failed checks (2 warnings)

Check name Status Explanation Resolution
Title check ⚠️ Warning The title identifies the CI initramfs change and uses the required subsystem prefix, but the description starts with uppercase “Regenerate” instead of lowercase text after the colon. Change the title to “ci: regenerate the initramfs after installing bootc from copr” with lowercase text after the colon and no trailing period.
Commit Message Convention ⚠️ Warning The PR has one non-merge commit: ci: Regenerate the initramfs after installing bootc from copr. The subsystem is valid and the description is imperative, but it starts with uppercase R, not a lowe… Change the subject to ci: regenerate the initramfs after installing bootc from copr.
✅ Passed checks (4 passed)
Check name Status Explanation
Description check ✅ Passed The description directly explains the initramfs mismatch, the Dockerfile change, test results, and untested variants.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0…
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Full details: Commit Message Convention

Explanation

The PR has one non-merge commit: ci: Regenerate the initramfs after installing bootc from copr. The subsystem is valid and the description is imperative, but it starts with uppercase R, not a lowercase letter.

  • Fix all pre-merge checks with AI
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create a new PR
  • Autopilot · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Comment @coderabbitai help to get the list of available commands.

@cgwalters
cgwalters enabled auto-merge October 8, 2026 11:25
@cgwalters

Copy link
Copy Markdown
Member

/ok-to-test

@cgwalters
cgwalters merged commit 97658ea into coreos:main Oct 9, 2026
22 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants