Skip to content

deploy: Pull bound images before staging via composefs mount - #2290

Open
cgwalters wants to merge 2 commits into
bootc-dev:mainfrom
cgwalters:lbi-pull-reliability
Open

deploy: Pull bound images before staging via composefs mount#2290
cgwalters wants to merge 2 commits into
bootc-dev:mainfrom
cgwalters:lbi-pull-reliability

Conversation

@cgwalters

Copy link
Copy Markdown
Collaborator

We were still staging a new bootloader entry even when we failed to pull a LBI. Switch to only doing an image pull and not a deployment, then pulling referenced LBIs from that.

Closes: #2013

@bootc-bot
bootc-bot Bot requested a review from gursewak1997 July 7, 2026 19:01
@gursewak1997

Copy link
Copy Markdown
Contributor

Needs cargo fmt

@cgwalters
cgwalters force-pushed the lbi-pull-reliability branch from d754a3e to 198b725 Compare July 8, 2026 11:51
@cgwalters cgwalters added the ci/tier-1 Run CI for tier-1 OS (centos-10) only label Jul 8, 2026
gursewak1997
gursewak1997 previously approved these changes Jul 8, 2026
jmarrero
jmarrero previously approved these changes Jul 9, 2026

@jmarrero jmarrero left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@cgwalters
cgwalters added this pull request to the merge queue Jul 9, 2026
@github-merge-queue
github-merge-queue Bot removed this pull request from the merge queue due to failed status checks Jul 10, 2026
@cgwalters

Copy link
Copy Markdown
Collaborator Author

: error: Switching: Switching (ostree): Staging: Mounting ostree commit b579414cd3d4d034ac8c9377579de4033025dfefc637bfdab95aa5ec8b9ddb5b: composefs_fsmount: Block device required (os error 15)

Looks legit

@cgwalters
cgwalters force-pushed the lbi-pull-reliability branch 2 times, most recently from 40b03f3 to 74f6c22 Compare July 28, 2026 19:33
@cgwalters
cgwalters enabled auto-merge July 28, 2026 19:59
@cgwalters
cgwalters requested a review from jmarrero July 28, 2026 20:02
@cgwalters

Copy link
Copy Markdown
Collaborator Author

OK, this one should be good to go now

jmarrero
jmarrero previously approved these changes Jul 29, 2026
@cgwalters
cgwalters added this pull request to the merge queue Jul 29, 2026
@github-merge-queue
github-merge-queue Bot removed this pull request from the merge queue due to failed status checks Jul 29, 2026
@cgwalters

Copy link
Copy Markdown
Collaborator Author

Hmm, hitting #2340 on this on centos-9.

@cgwalters

Copy link
Copy Markdown
Collaborator Author

OK this rolls in the fix for that

@cgwalters
cgwalters requested a review from jmarrero July 29, 2026 20:44
@cgwalters cgwalters added ci/merge Run full CI suite (all OSes) — equivalent to merge queue and removed ci/tier-1 Run CI for tier-1 OS (centos-10) only labels Jul 29, 2026
…ck fallback

CentOS Stream 9 ships kernel 5.14, which cannot mount an erofs image
directly from a file descriptor. composefs-rs provides a `rhel9` feature
in composefs-ctl (and forwarded through bootc-initramfs-setup) that works
around this by loopifying the image file into a /dev/loopN block device
before mounting it.

Without this feature enabled at build time, bootc install on centos-9 with
the composefs backend fails with ENOTBLK ('Block device required', errno 15)
when the initramfs setup code tries to mount the composefs/erofs image.

Wire up the feature in two places:
- Makefile: extend CARGO_FEATURES_DEFAULT to also emit `rhel9` when
  building on a RHEL-like OS with VERSION_ID=9.
- bootc.spec: add a `rhel9` bcond gated on `%{?rhel} == 9` and pass
  it to all three cargo build invocations and to %make_install.

With the build fix in place, remove the ci.yml exclude that was
suppressing centos-9 + composefs testing in test-integration.

Closes: bootc-dev#1812

Assisted-by: AI
Signed-off-by: Colin Walters <walters@verbum.org>
We were still staging a new bootloader entry even when we
failed to pull a LBI. Switch to only doing an image pull
and not a deployment, then pulling referenced LBIs from that.

The "bound_images" progress subtask moves earlier in the
sequence accordingly, ahead of "deploying" instead of after
it, since the pull now happens before deploy() is called.

Closes: bootc-dev#2013

Signed-off-by: Colin Walters <walters@verbum.org>
@cgwalters
cgwalters force-pushed the lbi-pull-reliability branch from 74c96e9 to 1dcfd17 Compare July 31, 2026 13:32
@cgwalters

Copy link
Copy Markdown
Collaborator Author

Looks like there are some potential latent issues with general tests on c9s

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci/merge Run full CI suite (all OSes) — equivalent to merge queue

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Logically-bound images aren't reliably present

3 participants