microsoft / microsoft/azurelinux

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

Open
#18,802 3 comments 0 reactions 0 assignees View on GitHub
4.0 bug
Dominant language
Python
Stars
5.3k
Forks
707
Avg merge
2d 18h
Merged PRs (30d)
235

Description

**Describe the bug**

Azure Linux 4.0 ships `rpm-ostree-2026.1-4.azl4` (preview repo; the `4.0` branch spec is at 2026.1). On a host installed with `bootc install` from an Azure Linux 4.0 bootc image, `rpm-ostree upgrade` pulls the new container image and exits 0 without staging a deployment. It prints no message. The result is the same with and without layered packages.

This is upstream rpm-ostree issue coreos/rpm-ostree#5567, fixed by coreos/rpm-ostree#5569 (commit `242903283b`, with the follow-up `a194bf5375` for the "No upgrade available." message). The fix is in rpm-ostree 2026.2 and later. Version 2026.1 has an early return in `deploy_transaction_execute` (`src/daemon/rpmostreed-transaction-types.cxx`) that ignores the changed base image for container origins.

**To Reproduce**

1. Build a bootc image from `mcr.microsoft.com/azurelinux-beta/base/core:4.0` with `kernel bootc ostree bootupd rpm-ostree` and the bootloader packages from the preview repo. Push it to a registry.
2. Install it with `bootc install to-disk` and boot the host.
3. Push a changed image under the same tag.
4. On the host run `rpm-ostree upgrade`.

Output:

```
Pulling manifest: ostree-image-signed:docker://10.0.2.2:5000/azurelinux-bootc:dev
```

Exit code 0. `rpm-ostree status` shows no new deployment. `journalctl -u rpm-ostreed` shows only "Fetching ostree-image-signed:docker://..." and "Txn Upgrade ... successful".

`bootc upgrade` on the same host stages the new image. `rpm-ostree deploy sha256:` and `rpm-ostree rebase ostree-image-signed:docker://.../azurelinux-bootc@sha256:` also work, so the pull path is fine and only the upgrade transaction is affected.

Versions: `rpm-ostree-2026.1-4.azl4`, `bootc-1.13.0-4.azl4`, `ostree-2025.7-5.azl4`, kernel `6.18.45-1.3.azl4`, x86_64.

**Expected behavior**

`rpm-ostree upgrade` stages the new image, or prints "No upgrade available." when there is none.

**Request**

Update `rpm-ostree` to 2026.2 or later on the `4.0` branch, or backport commits `242903283b` and `a194bf5375` from upstream.

Contributor guide

Open the contributing guide

Research direction

Inspect the rpm-ostree spec on the 4.0 branch and compare its 2026.1 package with upstream 2026.2 and commits 242903283b and a194bf5375. Use the reported bootc host reproduction, then verify that rpm-ostree upgrade stages a changed image or prints "No upgrade available." when appropriate.

Written by the indexing model from the issue text.

Assessment

Tech stack
linux
Domain
operating-systems
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Active
Clarity
Clearly specified
Newbie friendliness
68/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.