Bug 1833695 - podman pull fails manifest unknown
Summary: podman pull fails manifest unknown
Keywords:
Status: CLOSED EOL
Alias: None
Product: Fedora
Classification: Fedora
Component: docker-distribution
Version: 32
Hardware: x86_64
OS: Linux
unspecified
unspecified
Target Milestone: ---
Assignee: Clement Verna
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2020-05-09 18:39 UTC by Paul Finnigan
Modified: 2021-05-25 16:13 UTC (History)
10 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2021-05-25 16:13:40 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)
output from first build (23.01 KB, text/plain)
2020-05-12 19:15 UTC, Paul Finnigan
no flags Details
output from fist push (11.88 KB, text/plain)
2020-05-12 19:16 UTC, Paul Finnigan
no flags Details
output from run (13.93 KB, text/plain)
2020-05-12 19:17 UTC, Paul Finnigan
no flags Details
output from fist pull (9.53 KB, text/plain)
2020-05-12 19:18 UTC, Paul Finnigan
no flags Details
output from second build (34.85 KB, text/plain)
2020-05-12 19:19 UTC, Paul Finnigan
no flags Details
output from second push (259 bytes, text/plain)
2020-05-12 19:19 UTC, Paul Finnigan
no flags Details
Output of second pull (377 bytes, text/plain)
2020-05-12 19:20 UTC, Paul Finnigan
no flags Details
output of third push (10.87 KB, text/plain)
2020-05-12 19:20 UTC, Paul Finnigan
no flags Details
output of third pull (8.05 KB, text/plain)
2020-05-12 19:20 UTC, Paul Finnigan
no flags Details
Dockerfile1 (18 bytes, text/plain)
2020-05-12 19:21 UTC, Paul Finnigan
no flags Details
Dockerfile2 (47 bytes, text/plain)
2020-05-12 19:21 UTC, Paul Finnigan
no flags Details
podman info (2.48 KB, text/plain)
2020-05-12 19:22 UTC, Paul Finnigan
no flags Details
registry.yml (365 bytes, text/plain)
2020-05-12 19:22 UTC, Paul Finnigan
no flags Details

Description Paul Finnigan 2020-05-09 18:39:25 UTC
Description of problem:

I have a problem pulling images from reposiories:

[paul@xxxx docker]$ podman pull registry.fedoraproject.org/f32/httpd
Trying to pull registry.fedoraproject.org/f32/httpd...
  manifest unknown: manifest unknown
Error: error pulling image "registry.fedoraproject.org/f32/httpd": unable to pull registry.fedoraproject.org/f32/httpd: unable to pull image: Error initializing source docker://registry.fedoraproject.org/f32/httpd:latest: Error reading manifest latest in registry.fedoraproject.org/f32/httpd: manifest unknown: manifest unknown

The same problem happens when running as root. I have tried this on several systems, including a new gnome Boxes installation of Fedora 32 on which I had only installed podman.

Using the above for f30 or f31 gives the same result but f29 works like a dream. I also have myown repository. If I push images created by docker all is well. If I push podman built images the same issue is seen.

Version-Release number of selected component (if applicable):

podman version 1.9.1

How reproducible:

Totally. Happens everytime for me on 3 different systems and a VM.

Steps to Reproduce:
1. podman pull registry.fedoraproject.org/f32/httpd
2.
3.

Actual results:

pull fails

Expected results:

pull image from repository

Additional info:

You can use old versions:
podman pull registry.fedoraproject.org/f29/httpd

No problems pushing/pulling images built by docker.

Comment 1 Miloslav Trmač 2020-05-11 19:16:29 UTC
Thanks for your report:

- Why do you expect f32/httpd to exist? It is not listed on https://registry.fedoraproject.org , and there is no f32 branch on https://src.fedoraproject.org/container/httpd/branches?branchname=master . As far as I can tell, the image just does not exist and that’s that.


- If the image really should exist, please attach the output of (podman --log-level=debug pull …).

- If the Fedora image does not exist, but you can reproduce this with some other images you have created, please attach the debug log as described above, for _both_ the push and pull process.

Comment 2 Paul Finnigan 2020-05-12 12:59:50 UTC
Sorry my example was poor. I am having problems pulling any container built on fedora 32 from my own repository (using the package docker-distribution) and some other repositories. I was attempting to be clever and give an example that would easily work for you. I have just checked the list on the link you gave and indeed httpd is not on f32. The same page says that mysql should be there if I use podman pull registry.fedoraproject.org/f32/mysql. The result of this command is:

[paul@ewing ~]$ podman pull registry.fedoraproject.org/f32/mysql
Trying to pull registry.fedoraproject.org/f32/mysql...
  manifest unknown: manifest unknown
Error: error pulling image "registry.fedoraproject.org/f32/mysql": unable to pull registry.fedoraproject.org/f32/mysql: unable to pull image: Error initializing source docker://registry.fedoraproject.org/f32/mysql:latest: Error reading manifest latest in registry.fedoraproject.org/f32/mysql: manifest unknown: manifest unknown
[paul@ewing ~]$

I could add --log-level-debug but it does not appear to give any extra information to my eyes.

I can run built images without issue but after a push and a pull I get the above manifest error. Note however that images built with older software appears to work, certainly the httpd example from f29 works, containers I have built on fedora 30/31 also work although these could have been built and pushed with docker, docker hub and docker in general appear to work. It is as though podman does not understand the container format.

Comment 3 Miloslav Trmač 2020-05-12 13:37:53 UTC
(In reply to Paul Finnigan from comment #2)
> [paul@ewing ~]$ podman pull registry.fedoraproject.org/f32/mysql

Sadly, (docker pull) for that image fails similarly for me. So this still seems to just be a missing image.

At least (podman pull registry.fedoraproject.org/fedora:32) works for me.

> I can run built images without issue but after a push and a pull I get the
> above manifest error.

Precise reproducer, with debug logs, and identification of the server (is that a Sonatype Nexus by any chance?) please. I imagine if podman did not pull images at all, there would be many reports.

Comment 4 Paul Finnigan 2020-05-12 19:15:52 UTC
Created attachment 1687786 [details]
output from first build

Comment 5 Paul Finnigan 2020-05-12 19:16:48 UTC
Created attachment 1687787 [details]
output from fist push

Comment 6 Paul Finnigan 2020-05-12 19:17:57 UTC
Created attachment 1687788 [details]
output from run

Comment 7 Paul Finnigan 2020-05-12 19:18:25 UTC
Created attachment 1687789 [details]
output from fist pull

Comment 8 Paul Finnigan 2020-05-12 19:19:00 UTC
Created attachment 1687790 [details]
output from second build

Comment 9 Paul Finnigan 2020-05-12 19:19:33 UTC
Created attachment 1687792 [details]
output from second push

Comment 10 Paul Finnigan 2020-05-12 19:20:04 UTC
Created attachment 1687794 [details]
Output of second pull

Comment 11 Paul Finnigan 2020-05-12 19:20:29 UTC
Created attachment 1687796 [details]
output of third push

Comment 12 Paul Finnigan 2020-05-12 19:20:57 UTC
Created attachment 1687797 [details]
output of third pull

Comment 13 Paul Finnigan 2020-05-12 19:21:21 UTC
Created attachment 1687798 [details]
Dockerfile1

Comment 14 Paul Finnigan 2020-05-12 19:21:41 UTC
Created attachment 1687799 [details]
Dockerfile2

Comment 15 Paul Finnigan 2020-05-12 19:22:06 UTC
Created attachment 1687800 [details]
podman info

Comment 16 Paul Finnigan 2020-05-12 19:22:39 UTC
Created attachment 1687801 [details]
registry.yml

Comment 17 Paul Finnigan 2020-05-12 19:35:04 UTC
I have tried this on three installations of Fedora 32 Workstation, actually upgraded from Fedora 31 in all cases. All systems had docker installed with podman running along side in Fedora 31. When I upgraded I decided to remove docker and use just podman.

Installed packages are podman, podman-docker and podman-plugins. On the two systems I have docker-distribution installed, including the one I the results are from.

You may be able to look at the third pull output and tell me what I am doing wrong.

What I have done

I used the hello-world container from docker, as it is very simple for no other reason, I get he same results on any container I build as long as there is a change. First using Dockerfile1:

[First build] podman build --log-level=debug -t lenovo:5000/hello . 

[First push] podman push --log-level=debug -t lenovo:5000/hello

[First run] podman run --log-level=debug lenovo:5000/hello

[First pull] podman pull --log-level=debug -t lenovo:5000/hello 

All is good to this point. I suspect that the blobs used are just those from the Docker Repositry. Then using Dockerfile2 (to make sure there were some changes) I did:

[Second push] podman build --log-level=debug -t lenovo:5000/hello . 

[Second pull] podman push -t lenovo:5000/hello

[Third push] podman pull -t lenovo:5000/hello 

[Third pull] podman push --log-level=debug -t lenovo:5000/hello

[9] podman pull --log-level=debug -t lenovo:5000/hello 

The second and third pulls fail. Sorry but in the second push/pull I forgot the debug statements. The third push shows that the blobs exist on the registry.  

I have also provided the output from a 'podman info' and my registry config. 

Is there anything else that will help you?

Comment 18 Daniel Walsh 2020-05-12 19:59:10 UTC
Looks like your registry does not understand OCI Images?

Try

podman build --format docker --log-level=debug -t lenovo:5000/hello . 

And then push it to the registry.  You should be able to pull the image then.
That should proove that the problem is on the registry side.

Comment 19 Paul Finnigan 2020-05-12 21:42:49 UTC
You are correct. The image pulls fine once it is built with the --format docker switch. I will have to look at the docker-distribution package. One for tomorrow for me now.

Thanks for your help. I guess the best thing is to close this problem as user error and I will look at the registry a little more closely before raising another problem I should be able to fix.   

Thanks again.

Comment 20 Miloslav Trmač 2020-05-12 23:12:19 UTC
Thanks for all the data, reproduced.

(A simpler reproducer:

> skopeo copy --debug --dest-tls-verify=false --format oci docker://hello-world docker://localhost:5000/bar
> skopeo copy --debug --src-tls-verify=false docker://localhost:5000/bar dir:new

)

This looks like missing https://github.com/docker/distribution/commit/60d9c5dfad8c0d44fd5ee0482f6de7b09a15fb02 from https://github.com/docker/distribution/pull/2076 , which was added in docker/distribution 2.7.1. Sadly the Fedora package uses an older version and only a preliminary version of that upstream work (along with other missing features, like accurately reporting the error cause).

Running the docker://distribution:2 container instead, the OCI-formatted images can be pulled fine.

Reassigning to docker-distribution.

Comment 21 Fedora Program Management 2021-04-29 16:25:00 UTC
This message is a reminder that Fedora 32 is nearing its end of life.
Fedora will stop maintaining and issuing updates for Fedora 32 on 2021-05-25.
It is Fedora's policy to close all bug reports from releases that are no longer
maintained. At that time this bug will be closed as EOL if it remains open with a
Fedora 'version' of '32'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version.

Thank you for reporting this issue and we are sorry that we were not 
able to fix it before Fedora 32 is end of life. If you would still like 
to see this bug fixed and are able to reproduce it against a later version 
of Fedora, you are encouraged  change the 'version' to a later Fedora 
version prior this bug is closed as described in the policy above.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events. Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

Comment 22 Ben Cotton 2021-05-25 16:13:40 UTC
Fedora 32 changed to end-of-life (EOL) status on 2021-05-25. Fedora 32 is
no longer maintained, which means that it will not receive any further
security or bug fix updates. As a result we are closing this bug.

If you can reproduce this bug against a currently maintained version of
Fedora please feel free to reopen this bug against that version. If you
are unable to reopen this bug, please file a new report against the
current release. If you experience problems, please add a comment to this
bug.

Thank you for reporting this bug and we are sorry it could not be fixed.


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