Project

Profile

Help

Issue #5211

Updated by jomitsch@redhat.com over 5 years ago

When calling a registry API endpoint like /v2/myimage/manifests/latest, if you send an Accept header with a list, this error occurs: 

 Aug 01 20:24:56 pulp3-again.jomitsch.example.com gunicorn[1070]: pulp: pulp_docker.app.registry:WARNING: The requested tag `latest` is of type application/vnd.docker.distribution.manifest.v2+json, but the client only accepts ['application/json, application/vnd.docker.distribution.manifest.v2+json, application/vnd.docker.distribution.manifest.list.v2+json, application/vnd.docker.distribution.manifest.v1+prettyjws']. 

 The Accept header is something like `Accept: application/vnd.docker.distribution.manifest.v2+json, application/vnd.docker.distribution.manifest.list.v2+json, application/vnd.docker.distribution.manifest.v1+prettyjws, application/json` 

 If my python isn't too rusty, it looks like "value" needs to be split on the comma here (assuming    the header is correct) https://github.com/pulp/pulp_docker/blob/master/pulp_docker/app/registry.py#L47 

 I haven't been able to reproduce with curl yet, but here are our headers printed out in ruby 

 {"VERSION"=>"HTTP/1.1", "HOST"=>"pulp3-again.jomitsch.example.com", "USER-AGENT"=>"docker/1.13.1 go/go1.10.3 kernel/3.10.0-862.2.3.el7.x86_64 os/linux arch/amd64 UpstreamClient(Docker-Client/1.13.1 \\(linux\\))", "ACCEPT"=>"application/vnd.docker.distribution.manifest.v2+json, application/vnd.docker.distribution.manifest.list.v2+json, application/vnd.docker.distribution.manifest.v1+prettyjws, application/json", "AUTHORIZATION"=>"Bearer $2a$09$1b6453892473a467d0737ufZsuql4iq8AdEzTB.1OBc.uiUPfa71m", "ACCEPT-ENCODING"=>"gzip", "X-FORWARDED-PROTO"=>"https", "VIA"=>"1.1 pulp3-again.jomitsch.example.com", "X-FORWARDED-FOR"=>"192.168.121.121", "X-FORWARDED-HOST"=>"pulp3-again.jomitsch.example.com", "X-FORWARDED-SERVER"=>"pulp3-again.jomitsch.example.com", "CONNECTION"=>"Keep-Alive"} 

 Versions: 
 using the latest pulp3 code from git in the Katello pulp3 dev env root@pulp3-again pulp-docker]# rpm -qa | grep pulp-docker 
 pulp-docker-plugins-3.2.4-1.el7.noarch 
 python-pulp-docker-common-3.2.4-1.el7.noarch 
 [root@pulp3-again pulp-docker]# rpm -qa | grep pulp-server 
 pulp-server-2.19.1-1.el7.noarch 

Back