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)
- 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
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