Skip to content

rpm-ostree: pin to Fedora 43 head with the fix for the silent upgrade failure on bootc hosts - #18804

Open
Jay W (JayDoubleu) wants to merge 1 commit into
microsoft:4.0from
JayDoubleu:rpm-ostree-upgrade-fix
Open

rpm-ostree: pin to Fedora 43 head with the fix for the silent upgrade failure on bootc hosts#18804
Jay W (JayDoubleu) wants to merge 1 commit into
microsoft:4.0from
JayDoubleu:rpm-ostree-upgrade-fix

Conversation

@JayDoubleu

@JayDoubleu Jay W (JayDoubleu) commented Sep 12, 2026

Copy link
Copy Markdown

Fixes #18802.

What

Pin rpm-ostree to the Fedora 43 dist-git head of 2026-03-20 (1e217baeafb680550626e8b437e7ab0373feaa70). The two commits after the 2026-02-24 snapshot are the Fedora backports of upstream coreos/rpm-ostree#5569 and coreos/rpm-ostree#5575. They add Patch1 and Patch2 to rpm-ostree 2026.1, and the second one also marks /etc/rpm-ostreed.conf as %config(noreplace) (upstream coreos/rpm-ostree#5573), so a locally edited daemon configuration survives a package upgrade instead of being overwritten. All three changes are in scope. The pin can be dropped when the Fedora 43 snapshot moves past 2026-03-20.

The component moves to base/comps/rpm-ostree/rpm-ostree.comp.toml, and the inline [components.rpm-ostree] table leaves base/comps/components.toml, as for every other component with its own file.

Why

rpm-ostree 2026.1 has an early return in deploy_transaction_execute that ignores a changed base image for container origins (upstream issue coreos/rpm-ostree#5567). On a host installed with bootc install, rpm-ostree upgrade pulls the new image and exits 0 without a new deployment and without a message. rpm-ostree deploy and rpm-ostree rebase work, so only the upgrade transaction is affected.

How verified

  • azldev comp update -p rpm-ostree, azldev comp render -p rpm-ostree, commit, render again, amend. Rendered as 2026.1-7 with Patch1 and Patch2.
  • azldev comp build -p rpm-ostree in mock (about 8 minutes). Smoke test in the mock chroot: rpm-ostree --version prints 2026.1.
  • Functional test on a QEMU host installed with bootc install from an Azure Linux 4.0 bootc image (bootc 1.13.0-4.azl4, ostree 2025.7-5.azl4) with the rebuilt RPM:
    • Before the fix, rpm-ostree upgrade printed only Pulling manifest: ... and staged nothing.
    • After the fix, rpm-ostree upgrade against a newer image printed Staging deployment...done and the host booted the new version.
    • With strace layered by rpm-ostree install, rpm-ostree upgrade staged the new image with the layer, and the host booted it with strace present.
    • With no newer image it prints No upgrade available.

Copilot AI balanced review requested due to automatic review settings September 12, 2026 09:00
@JayDoubleu
Jay W (JayDoubleu) requested a review from a team as a code owner September 12, 2026 09:00
@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
There may be pipelines that require an authorized user to comment /azp run to run.

Copilot AI 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.

🟡 Changes recommended

A critical component-definition conflict and a moderate packaging-scope issue remain unresolved.

Get a fresh assessment by requesting another Copilot review.

Pull request overview

Pins rpm-ostree to the Fedora 43 head containing fixes for silent container upgrades and missing status messages.

Changes:

  • Adds two upstream backport patches and regression coverage.
  • Updates the component pin, lock metadata, and rendered packaging.
  • Marks rpm-ostreed.conf as %config(noreplace).
File summaries
File Summary
specs/r/rpm-ostree/rpm-ostree.spec Registers patches and updates packaging; moderate (1 vote) concern remains about the unrelated %config(noreplace) change.
specs/r/rpm-ostree/0001-Fix-silent-upgrade-failure-on-container-systems.patch Backports the container upgrade fix.
specs/r/rpm-ostree/0001-deploy-Print-status-message-on-container-early-retur.patch Restores no-upgrade status messaging.
locks/rpm-ostree.lock Refreshes resolved commit and hashes.
base/comps/rpm-ostree/rpm-ostree.comp.toml Adds the Fedora pin; critical (2 votes) duplicate component-definition concern remains.
Review details

Suppressed comments (1)

specs/r/rpm-ostree/rpm-ostree.spec:273

  • This pin also imports an unrelated upstream packaging change that marks /etc/rpm-ostreed.conf as %config(noreplace) (the upstream fix for #5573), changing upgrade behavior by preserving locally modified daemon configuration. That contradicts the description's claim that the pin adds only Patch1 and Patch2; please either explicitly include and validate this behavior in the PR scope or keep this packaging change out of the pinned output.
  '%config(noreplace) %{_sysconfdir}/rpm-ostreed.conf' \
  • Files reviewed: 4/5 changed files
  • Comments generated: 1
  • Review effort level: Lite (auto)

Note

Copilot is running an experiment and ran this review at Lite.


💡 Configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread base/comps/rpm-ostree/rpm-ostree.comp.toml
rpm-ostree 2026.1 returns from the upgrade transaction on container
hosts before it stages the new deployment (coreos/rpm-ostree#5567).
Fedora 43 carries the upstream fix as Patch1 and Patch2 since
2026-03-20, after the 2026-02-24 snapshot. Pin the component to that
dist-git commit until the snapshot moves past it. The same Fedora
commits mark /etc/rpm-ostreed.conf as %config(noreplace)
(coreos/rpm-ostree#5573), so a local daemon configuration survives an
upgrade.

The component moves to base/comps/rpm-ostree/rpm-ostree.comp.toml, so
the inline table in base/comps/components.toml goes away, as for every
other component with its own file.

Fixes microsoft#18802
Copilot AI review requested due to automatic review settings September 12, 2026 09:56

Copilot AI 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.

🟢 Approval recommended

The component configuration, lock, rendered spec, upstream patches, and documented verification are consistent.

Review details
  • Files reviewed: 5/6 changed files
  • Comments generated: 0 new
  • Review effort level: Balanced (auto)

Note

Copilot is running an experiment and ran this review at Balanced.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

rpm-ostree 2026.1: rpm-ostree upgrade exits 0 without a new deployment on bootc hosts (upstream #5567, fixed in 2026.2)

2 participants