Bug 1804305 - moby-engine does not obsolete proper version of docker, upgrading to Fedora 32 is blocked
Summary: moby-engine does not obsolete proper version of docker, upgrading to Fedora 3...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: moby-engine
Version: 32
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Olivier Lemasle
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2020-02-18 16:20 UTC by Miro Hrončok
Modified: 2020-03-16 20:36 UTC (History)
5 users (show)

Fixed In Version: moby-engine-19.03.7-2.ce.git7141c19.fc32
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2020-03-16 20:36:03 UTC
Type: Bug
bcotton: fedora_prioritized_bug+


Attachments (Terms of Use)

Description Miro Hrončok 2020-02-18 16:20:58 UTC
Upgrading to Fedora 32 form Fedora 31:

 Problem: package docker-2:1.13.1-68.git47e2230.fc30.x86_64 requires atomic-registries >= 1.19.1-6, but none of the providers can be installed
  - atomic-registries-1.22.1-28.gitb507039.fc30.x86_64 does not belong to a distupgrade repository
  - problem with installed package docker-2:1.13.1-68.git47e2230.fc30.x86_64

I see that moby-engine obsoletes docker:

$ repoquery --repo=rawhide --obsoletes moby-engine
docker < 18.09.8-3.ce.git0dd43dd.fc32
docker-latest < 18.09.8-3.ce.git0dd43dd.fc32


But it obsoletes it without epoch:

$ rpm -q --info docker | grep ^Epoch
Epoch       : 2

Comment 1 Miro Hrončok 2020-02-26 09:30:33 UTC
Proposing for prioritized bug. A lot of users will carry docker from Fedora 30 and it was working on Fedora 31. This will break updates for them.

As a side note, I'd be happier if docker was obsoleted and provided by podman docker, but it needs to be properly obsoleted by at least something.

Comment 3 Miro Hrončok 2020-03-06 15:14:37 UTC
Olivier, could you please respond?

Comment 4 Miro Hrončok 2020-03-06 15:16:02 UTC
Lokesh, can podman-docker obsolete/provide this instead? I think that provides a better upgrade path.

Comment 5 Lokesh Mandvekar 2020-03-06 18:29:28 UTC
(In reply to Miro Hrončok from comment #4)
> Lokesh, can podman-docker obsolete/provide this instead? I think that
> provides a better upgrade path.

podman-docker already conflicts with both moby-engine and docker. Don't know if obsoletes would help. Maybe we can get a provenpackager to push the change to moby-engine and do a new build.

Comment 6 Miro Hrončok 2020-03-06 18:31:55 UTC
> Maybe we can get a provenpackager to push the change to moby-engine and do a new build.

I can do that. But I don't want docker users to be migrated to a package that is essentially not maintained. Hence I wait if the maintainer responds.


> Don't know if obsoletes would help.

Obsoletes is a way to replace something. So the question here really is:

When users update to Fedora 32, should their docker be:

 - replaced by moby-engine
 - replaced by docker-podman
 - removed without a replacement

?

Comment 7 Lokesh Mandvekar 2020-03-06 18:43:09 UTC
(In reply to Miro Hrončok from comment #6)
> > Maybe we can get a provenpackager to push the change to moby-engine and do a new build.
> 
> I can do that. But I don't want docker users to be migrated to a package
> that is essentially not maintained. Hence I wait if the maintainer responds.
> 
> 
> > Don't know if obsoletes would help.
> 
> Obsoletes is a way to replace something. So the question here really is:
> 
> When users update to Fedora 32, should their docker be:
> 
>  - replaced by moby-engine
>  - replaced by docker-podman
>  - removed without a replacement
> 
> ?

iirc, we've had people who wanted /usr/bin/docker to be Docker Inc's stuff and that's why the Conflicts: docker, docker-ce, moby-engine. So, I'm guessing there'll be some users who will frown upon podman-docker replacing docker.

Dan, WDYT?

Comment 8 Fedora Update System 2020-03-07 23:17:31 UTC
FEDORA-2020-51d613864c has been submitted as an update to Fedora 32. https://bodhi.fedoraproject.org/updates/FEDORA-2020-51d613864c

Comment 9 Olivier Lemasle 2020-03-08 11:22:20 UTC
Hi, sorry for my late reply, and thanks for reaching me.

I've read the Packaging Guidelines and their part related to Obsoletes and Epoch, but I'm not sure I did the fix right.
Does https://src.fedoraproject.org/rpms/moby-engine/c/3579c2166e301785c763b1c08f00af193e936398?branch=f32 fix the upgrade issue?

I've pushed an update for that: https://bodhi.fedoraproject.org/updates/FEDORA-2020-51d613864c

Comment 10 Miro Hrončok 2020-03-08 11:30:45 UTC
It seems correct, but I haven't yet tested it.

Comment 11 Fedora Update System 2020-03-08 17:15:35 UTC
moby-engine-19.03.7-1.ce.git7141c19.fc32 has been pushed to the Fedora 32 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2020-51d613864c

Comment 12 Fedora Update System 2020-03-08 19:55:48 UTC
FEDORA-2020-56f58977b7 has been submitted as an update to Fedora 32. https://bodhi.fedoraproject.org/updates/FEDORA-2020-56f58977b7

Comment 13 Miro Hrončok 2020-03-08 23:21:05 UTC
I still see this:

 Problem ?: problem with installed package docker-2:1.13.1-68.git47e2230.fc30.x86_64
  - package moby-engine-19.03.7-1.ce.git7141c19.fc32.x86_64 conflicts with docker-common provided by docker-common-2:1.13.1-68.git47e2230.fc30.x86_64
  - docker-2:1.13.1-68.git47e2230.fc30.x86_64 does not belong to a distupgrade repository
  - problem with installed package docker-common-2:1.13.1-68.git47e2230.fc30.x86_64


But this might still be a mirror problem.

Comment 14 Olivier Lemasle 2020-03-09 07:16:56 UTC
Yes, I also saw this issue after the first update. I've updated the spec to add Obsoletes: docker-common and I will test again when https://bodhi.fedoraproject.org/updates/FEDORA-2020-56f58977b7 reaches testing.

Comment 15 Fedora Update System 2020-03-09 14:53:47 UTC
moby-engine-19.03.7-2.ce.git7141c19.fc32 has been pushed to the Fedora 32 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2020-56f58977b7

Comment 16 Olivier Lemasle 2020-03-09 17:32:25 UTC
The upgrade now works with https://bodhi.fedoraproject.org/updates/FEDORA-2020-56f58977b7.

Upgrade from f30, with package "docker" installed, to f32.

Without repo "updates-testing":

$ sudo dnf system-upgrade download --refresh --releasever=32
Before you continue ensure that your system is fully upgraded by running "dnf --refresh upgrade". Do you want to continue [y/N]: y
Fedora Modular 32 - x86_64                                                                                                                                                          23 kB/s |  18 kB     00:00    
Fedora Modular 32 - x86_64 - Updates                                                                                                                                                26 kB/s |  21 kB     00:00    
Fedora 32 - x86_64 - Updates                                                                                                                                                        40 kB/s |  21 kB     00:00    
Fedora 32 - x86_64                                                                                                                                                                  30 kB/s |  18 kB     00:00    
Error: 
 Problem: package docker-2:1.13.1-68.git47e2230.fc30.x86_64 requires atomic-registries >= 1.19.1-6, but none of the providers can be installed
  - atomic-registries-1.22.1-28.gitb507039.fc30.x86_64 does not belong to a distupgrade repository
  - problem with installed package docker-2:1.13.1-68.git47e2230.fc30.x86_64
(try to add '--skip-broken' to skip uninstallable packages)


With repo "updates-testing" enabled:

$ sudo dnf system-upgrade download --refresh --releasever=32 --enablerepo updates-testing
Before you continue ensure that your system is fully upgraded by running "dnf --refresh upgrade". Do you want to continue [y/N]: y
Fedora Modular 32 - x86_64                                                                                                                                                          34 kB/s |  18 kB     00:00    
Fedora Modular 32 - x86_64 - Updates                                                                                                                                                39 kB/s |  21 kB     00:00    
Fedora 32 - x86_64 - Test Updates                                                                                                                                                   38 kB/s |  21 kB     00:00    
Fedora 32 - x86_64 - Updates                                                                                                                                                        41 kB/s |  21 kB     00:00    
Fedora 32 - x86_64                                                                                                                                                                  23 kB/s |  18 kB     00:00    
Dependencies resolved.
===================================================================================================================================================================================================================
 Package                                                          Architecture                     Version                                                         Repository                                 Size
===================================================================================================================================================================================================================
Installing:
 moby-engine                                                      x86_64                           19.03.7-2.ce.git7141c19.fc32                                    updates-testing                            51 M
     replacing  docker.x86_64 2:1.13.1-68.git47e2230.fc30
     replacing  docker-common.x86_64 2:1.13.1-68.git47e2230.fc30
Upgrading:
 NetworkManager                                                   x86_64                           1:1.22.8-1.fc32                                                 fedora                                    2.0 M
...

Comment 17 Fedora Update System 2020-03-09 19:29:55 UTC
FEDORA-2020-aa8bed5ad6 has been submitted as an update to Fedora 31. https://bodhi.fedoraproject.org/updates/FEDORA-2020-aa8bed5ad6

Comment 18 Fedora Update System 2020-03-09 20:35:05 UTC
moby-engine-19.03.7-2.ce.git7141c19.fc31 has been pushed to the Fedora 31 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2020-aa8bed5ad6

Comment 19 Miro Hrončok 2020-03-11 10:17:37 UTC
Fedora 32:

Problem is fixed.


Fedora 31:

I believe that this is not appropriate for Fedora 31. USers have docker and we cannot remove that form their system mid-release.

Comment 20 Olivier Lemasle 2020-03-11 13:25:43 UTC
Oh yes, for f31 I forgot you can still have package "docker" (but "docker" package is blocked in f31 -- https://koschei.fedoraproject.org/package/docker?collection=f31 -- and there's no f31 branch -- https://src.fedoraproject.org/rpms/docker/branches)

Thanks for your input on f32.

Comment 21 Miro Hrončok 2020-03-11 13:36:06 UTC
Yes, docker is retired on f31 but users can still have it since Fedora 30.

Comment 22 Fedora Update System 2020-03-16 20:36:03 UTC
moby-engine-19.03.7-2.ce.git7141c19.fc32 has been pushed to the Fedora 32 stable repository. If problems still persist, please make note of it in this bug report.


Note You need to log in before you can comment on or make changes to this bug.