Unable to upgrade coreos from 40 to 41 with docker-ce installed

I used the instructions to found here to remove moby-engine and install docker-ce. But now zincati is giving a conflict when trying to update.

Dec 01 23:08:58 pmcos02 zincati[2062]: [INFO  zincati::update_agent::actor] target release '41.20241109.3.0' selected, proceeding to stage it
Dec 01 23:03:40 pmcos02 zincati[2062]:     
Dec 01 23:03:40 pmcos02 zincati[2062]:       - package docker-cli-27.3.1-2.fc41.x86_64 from @System conflicts with docker-ce-cli provided by docker-ce-cli-1:27.3.1-1.fc41.x86_64 from docker-ce-stable
Dec 01 23:03:40 pmcos02 zincati[2062]:       - package docker-cli-27.3.1-2.fc41.x86_64 from @System conflicts with docker-ce-cli provided by docker-ce-cli-1:27.3.0-1.fc41.x86_64 from docker-ce-stable
Dec 01 23:03:40 pmcos02 zincati[2062]:       - package docker-cli-27.3.1-2.fc41.x86_64 from @System conflicts with docker-ce-cli provided by docker-ce-cli-1:27.2.1-1.fc41.x86_64 from docker-ce-stable
Dec 01 23:03:40 pmcos02 zincati[2062]:       - package docker-ce-3:27.3.1-1.fc41.x86_64 from docker-ce-stable requires docker-ce-cli, but none of the providers can be installed
Dec 01 23:03:40 pmcos02 zincati[2062]:       - package docker-ce-3:27.3.0-1.fc41.x86_64 from docker-ce-stable requires docker-ce-cli, but none of the providers can be installed
Dec 01 23:03:40 pmcos02 zincati[2062]:       - package docker-ce-3:27.2.1-1.fc41.x86_64 from docker-ce-stable requires docker-ce-cli, but none of the providers can be installed
Dec 01 23:03:40 pmcos02 zincati[2062]:      Problem: conflicting requests
Dec 01 23:03:40 pmcos02 zincati[2062]:     error: Could not depsolve transaction; 1 problem detected:
Dec 01 23:03:40 pmcos02 zincati[2062]: [ERROR zincati::update_agent::actor] failed to stage deployment: rpm-ostree deploy failed:

~$ rpm -qa | grep -i docker
docker-compose-plugin-2.29.7-1.fc40.x86_64
docker-buildx-plugin-0.17.1-1.fc40.x86_64
docker-ce-cli-27.3.1-1.fc40.x86_64
docker-ce-rootless-extras-27.3.1-1.fc40.x86_64
docker-ce-27.3.1-1.fc40.x86_64

Is there still some remaining package that needs to be removed/cleaned up?

Thanks.

Hello @drogo and welcome to :fedora: !

For further assistance, please provide the output of the rpm-ostree status command.

Thanks!

Here you go.

core@pmcos02:~$ rpm-ostree status
State: idle
AutomaticUpdatesDriver: Zincati
  DriverState: active; trying to stage 41.20241109.3.0 (failed attempts: 4)
Deployments:
â—Ź fedora:fedora/x86_64/coreos/stable
                  Version: 40.20241019.3.0 (2024-10-26T12:34:27Z)
               BaseCommit: 6df70065620571076f242857b9080d747891e2279dff3ed1756270f6889731ce
             GPGSignature: Valid signature by 115DF9AEF857853EE8445D0A0727707EA15B79CC
      RemovedBasePackages: containerd 1.6.23-5.fc40 moby-engine 24.0.5-4.fc40 runc 2:1.1.12-3.fc40
          LayeredPackages: docker-ce docker-compose-plugin rsnapshot tree vim

  fedora:fedora/x86_64/coreos/stable
                  Version: 40.20241006.3.0 (2024-10-21T13:09:57Z)
               BaseCommit: 43d6b3884e0e6b8f7128ae06abd43bbdf4f52b9338a7763c5a3b492c40f3d866
             GPGSignature: Valid signature by 115DF9AEF857853EE8445D0A0727707EA15B79CC
      RemovedBasePackages: containerd 1.6.23-5.fc40 moby-engine 24.0.5-4.fc40 runc 2:1.1.12-3.fc40
          LayeredPackages: docker-ce docker-compose-plugin rsnapshot tree vim

In order to upgrade to Fedora CoreOS 41 you’ll need to reset the overrides and uninstall layered Docker packages. Try the following command.

sudo rpm-ostree override reset --all --uninstall docker-ce --uninstall docker-compose-plugin

Hey @drogo - can you open an issue against the tracker for this?

I think the problem is that a new docker-cli package was added in F41+ and we should probably update our docs to also override remove any new packages as a result of that change.

Hi @dustymabe , Issue 1845 opened. I think I got everything in there that’s needed.

@hricky , I did what you suggested, and it successfully upgraded to 41.20241109.3.0, but commands to install docker-ce now fail with a similar dependency error;

core@pmcos02:~$ sudo rpm-ostree override remove moby-engine containerd runc --install docker-ce --reboot
Checking out tree 870e2c8... done
Enabled rpm-md repositories: fedora-cisco-openh264 updates fedora docker-ce-stable updates-archive
Importing rpm-md... done
rpm-md repo 'fedora-cisco-openh264' (cached); generated: 2024-03-11T19:22:31Z solvables: 3
rpm-md repo 'updates' (cached); generated: 2024-12-01T03:48:08Z solvables: 11684
rpm-md repo 'fedora' (cached); generated: 2024-10-24T13:55:59Z solvables: 76624
rpm-md repo 'docker-ce-stable' (cached); generated: 2024-11-29T10:39:29Z solvables: 18
rpm-md repo 'updates-archive' (cached); generated: 2024-12-01T04:28:28Z solvables: 12412
Resolving dependencies... done
error: Could not depsolve transaction; 1 problem detected:
 Problem: conflicting requests
  - package docker-ce-3:27.2.1-1.fc41.x86_64 from docker-ce-stable requires docker-ce-cli, but none of the providers can be installed
  - package docker-ce-3:27.3.0-1.fc41.x86_64 from docker-ce-stable requires docker-ce-cli, but none of the providers can be installed
  - package docker-ce-3:27.3.1-1.fc41.x86_64 from docker-ce-stable requires docker-ce-cli, but none of the providers can be installed
  - package docker-cli-27.3.1-2.fc41.x86_64 from @System conflicts with docker-ce-cli provided by docker-ce-cli-1:27.2.1-1.fc41.x86_64 from docker-ce-stable
  - package docker-cli-27.3.1-2.fc41.x86_64 from @System conflicts with docker-ce-cli provided by docker-ce-cli-1:27.3.0-1.fc41.x86_64 from docker-ce-stable
  - package docker-cli-27.3.1-2.fc41.x86_64 from @System conflicts with docker-ce-cli provided by docker-ce-cli-1:27.3.1-1.fc41.x86_64 from docker-ce-stable

I was trying to get docker-compose back, and it looks like that’s available simply via rpm-ostree install. So I can layer it instead.

Thanks!

The main reason when we introduced the Docker CE installation docs page a few months ago was that the Docker packages in the Fedora repositories were outdated compared to those in the upstream repositories. Recently, the Docker packages in the Fedora repositories were restructured and these days they are regularly maintained and synchronized with the upstream repositories. For more info, see Installing Docker and Docker-Compose :: Fedora Docs.

So, currently, I think replacing the Fedora-provided versions with those from the upstream Docker sources is more of a personal preference. In any case, as already suggested, I think we need to update our docs.

If you want to install Docker from the upstream sources on Fedora CoreOS 41, try the following command.

sudo rpm-ostree override remove docker-cli moby-engine containerd runc --install docker-ce --install docker-compose-plugin

I switched to docker-ce because i kept running into strange issues with ulimits and the moby bucktracker had old issues which seemed like what was hitting me but stalled out and since it only happened after a few days with no clear reason i didn’t try further since the unreproducibility is what stalled the old issue in the first place.

Anyway i now want to update to 41while keeping docker-ce but can’t figure out how.

root@localhost:~# rpm-ostree status
State: idle
AutomaticUpdatesDriver: Zincati
  DriverState: active; trying to stage 41.20241109.3.0 (failed attempts: 9)
Deployments:
  fedora:fedora/x86_64/coreos/stable
                  Version: 40.20241019.3.0 (2024-10-26T12:34:27Z)
               BaseCommit: 6df70065620571076f242857b9080d747891e2279dff3ed1756270f6889731ce
             GPGSignature: Valid signature by 115DF9AEF857853EE8445D0A0727707EA15B79CC
                     Diff: 1 upgraded
      RemovedBasePackages: containerd 1.6.23-5.fc40 moby-engine 24.0.5-4.fc40 runc 2:1.1.12-3.fc40
          LayeredPackages: docker-ce docker-ce-cli

â—Ź fedora:fedora/x86_64/coreos/stable
                  Version: 40.20241019.3.0 (2024-10-26T12:34:27Z)
               BaseCommit: 6df70065620571076f242857b9080d747891e2279dff3ed1756270f6889731ce
             GPGSignature: Valid signature by 115DF9AEF857853EE8445D0A0727707EA15B79CC
      RemovedBasePackages: containerd 1.6.23-5.fc40 moby-engine 24.0.5-4.fc40 runc 2:1.1.12-3.fc40
          LayeredPackages: docker-ce

  fedora:fedora/x86_64/coreos/stable
                  Version: 40.20241006.3.0 (2024-10-21T13:09:57Z)
               BaseCommit: 43d6b3884e0e6b8f7128ae06abd43bbdf4f52b9338a7763c5a3b492c40f3d866
             GPGSignature: Valid signature by 115DF9AEF857853EE8445D0A0727707EA15B79CC
      RemovedBasePackages: containerd 1.6.23-5.fc40 moby-engine 24.0.5-4.fc40 runc 2:1.1.12-3.fc40
          LayeredPackages: docker-ce
root@localhost:~# rpm-ostree upgrade --bypass-driver
2 metadata, 0 content objects fetched; 788 B transferred in 1 seconds; 0 bytes content written
Checking out tree 870e2c8... done
Enabled rpm-md repositories: fedora-cisco-openh264 updates fedora docker-ce-stable updates-archive
Importing rpm-md... done
rpm-md repo 'fedora-cisco-openh264' (cached); generated: 2024-03-11T19:22:31Z solvables: 3
rpm-md repo 'updates' (cached); generated: 2024-12-09T02:43:57Z solvables: 12715
rpm-md repo 'fedora' (cached); generated: 2024-10-24T13:55:59Z solvables: 76624
rpm-md repo 'docker-ce-stable' (cached); generated: 2024-11-29T10:39:29Z solvables: 18
rpm-md repo 'updates-archive' (cached); generated: 2024-12-09T02:54:55Z solvables: 14054
Resolving dependencies... done
error: Could not depsolve transaction; 1 problem detected:
 Problem: conflicting requests
  - package docker-cli-27.3.1-2.fc41.x86_64 from @System conflicts with docker-ce-cli provided by docker-ce-cli-1:27.2.1-1.fc41.x86_64 from docker-ce-stable
  - package docker-cli-27.3.1-2.fc41.x86_64 from @System conflicts with docker-ce-cli provided by docker-ce-cli-1:27.3.0-1.fc41.x86_64 from docker-ce-stable
  - package docker-cli-27.3.1-2.fc41.x86_64 from @System conflicts with docker-ce-cli provided by docker-ce-cli-1:27.3.1-1.fc41.x86_64 from docker-ce-stable
root@localhost:~# rpm-ostree override remove docker-cli
error: Package "docker-cli" not found
root@localhost:~# rpm-ostree upgrade --bypass-driver --uninstall docker-cli
error: Package/capability 'docker-cli' is not currently requested

Have you tried the instructions from the previous posts, i.e.

Upgrade to Fedora CoreOS 41, e.g. rpm-ostree upgrade --bypass-driver.

Then, on the upgraded Fedora CoreOS 41, install Docker CE again.

sudo rpm-ostree override remove docker-cli moby-engine containerd runc --install docker-ce

No. i didn’t want to risk switching docker engines back and forth for fear of sublte config incompatibilities or whatever might happen. maybe that fear is unfounded?

To be on the safe side, you can pin your current deployment. Then upgrade according to the instructions and test if everything works. If something goes wrong, you can always rollback to FCOS 40, but this version is EOL and no longer supported.

Thanks. i managed to update it with

ostree admin pin booted
rpm-ostree uninstall docker-ce docker-ce-cli
rpm-ostree upgrade --bypass-driver
rpm-ostree override remove docker-cli --install docker-ce --install docker-ce-cli
reboot
ostree admin pin --unpin 1

and am now on Fedora 41:

root@localhost:~# rpm-ostree status
State: idle
AutomaticUpdatesDriver: Zincati
  DriverState: active; periodically polling for updates (last checked Wed 2024-12-11 09:14:59 UTC)
Deployments:
â—Ź fedora:fedora/x86_64/coreos/stable
                  Version: 41.20241109.3.0 (2024-11-25T02:09:37Z)
               BaseCommit: 870e2c8fd02e81652b30bc9a33b5da9d47de66c8bc2bae0a3739ecf38f652660
             GPGSignature: Valid signature by 466CF2D8B60BC3057AA9453ED0622462E99D6AD1
      RemovedBasePackages: containerd 1.7.23-2.fc41 docker-cli moby-engine 27.3.1-2.fc41 runc 2:1.1.12-4.fc41
          LayeredPackages: docker-ce docker-ce-cli

  fedora:fedora/x86_64/coreos/stable
                  Version: 40.20241019.3.0 (2024-10-26T12:34:27Z)
               BaseCommit: 6df70065620571076f242857b9080d747891e2279dff3ed1756270f6889731ce
             GPGSignature: Valid signature by 115DF9AEF857853EE8445D0A0727707EA15B79CC
      RemovedBasePackages: containerd 1.6.23-5.fc40 moby-engine 24.0.5-4.fc40 runc 2:1.1.12-3.fc40
          LayeredPackages: docker-ce
2 Likes