openshift / openshift/os

Turning on composefs breaks pivot from old bootimages

Open
#1,678 12 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

lifecycle/frozen
Dominant language
Shell
Stars
135
Forks
131
Avg merge
4d 13h
Merged PRs (30d)
6

Description

Updated description:

Any bootimage with a libostree older than v2023.4 will be too old to know how to create composefs images when upgrading. And so once we upgrade, if composefs = yes in prepare-root.conf, ostree-prepare-root in the new initramfs will fail because it sees that composefs should be enabled and yet no composefs image exists. We currently set composefs = maybe in prepare-root.conf because of this: https://github.com/coreos/rhel-coreos-config/blob/2c3f8527babb935d8d71b505bc764dbab8163b69/manifest-el9-shared.yaml#L28-L34

This ticket tracks being able to switch it back to yes.

Original description follows.


Attached the full secondboot journal.
journal.txt

The specific error is:

Dec 09 17:13:23 localhost systemd[1]: Mounted /sysroot.
Dec 09 17:13:23 localhost systemd[1]: Starting OSTree Prepare OS/...
Dec 09 17:13:23 localhost ostree-prepare-root[675]: Resolved OSTree target to: /sysroot/ostree/deploy/fedora-coreos/deploy/8bd789c8d973d9910e8cc1fc477dd20ac5e975e0663085eeb06a95bfcdba5199.0
Dec 09 17:13:23 localhost ostree-prepare-root[675]: sysroot.readonly configuration value: 1 (fs writable: 1)
Dec 09 17:13:23 localhost ostree-prepare-root[675]: ostree-prepare-root: composefs: failed to mount: No such file or directory
Dec 09 17:13:23 localhost systemd[1]: ostree-prepare-root.service: Main process exited, code=exited, status=1/FAILURE
Dec 09 17:13:23 localhost systemd[1]: ostree-prepare-root.service: Failed with result 'exit-code'.
Dec 09 17:13:23 localhost systemd[1]: Failed to start OSTree Prepare OS/.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Read manifest-el9-shared.yaml at the linked revision, then trace how prepare-root.conf sets composefs and how ostree-prepare-root handles bootimages built with libostree older than v2023.4. Confirm the compatibility path that allows composefs to be switched from maybe to yes without the reported mount failure, using the attached secondboot journal as the failure reference.

Written by the indexing model from the issue text.

Assessment

Domain
operating-systems
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.