Project

General

Profile

Bug #25922

[Container Admin] docker pull does not work

Added by Justin Sherrill about 2 months ago. Updated about 2 months ago.

Status:
Closed
Priority:
Normal
Category:
Repositories
Target version:
Difficulty:
Triaged:
Yes
Bugzilla link:
Team Backlog:
Fixed in Releases:
Found in Releases:

Description

Cloned from https://bugzilla.redhat.com/show_bug.cgi?id=1661019

One of changes introduced in Satellite 6.5 allows users to execute docker commands against Satellite server (FQDN, not Crane exposed on specific port). `docker pull`, which is one of primary supported commands, does not work.

I have verified that this feature does not work on Satellite 6.5 snap 8, but it did work on forklift development box in late November (foreman commit: 3371bd6d380316588fccc740a41b293ccfc0f250 ; Katello commit: d83615fa0c523a10f1931a833a45f285e0e4e386; full list of installed packages in attachement). I was not able to setup environment with current Foreman master or with older Satellite snap, so I couldn't verify if that stopped working in recent Satellite snap, or somehow got broken during upstream -> downstream transition. Assigning Regression keyword because that feature was tested early in development cycle and was working back then.

Version-Release number of selected component (if applicable):
Satellite 6.5 snap 8
katello-3.10.0-0.6.rc1.el7sat.noarch
pulp-server-2.18.0-0.1.rc.el7sat.noarch
foreman-1.20.1.1-1.el7sat.noarch
satellite-6.5.0-5.beta.el7sat.noarch

Steps to Reproduce:
1. hammer product create --name="docker-prod" --organization-id="1"
2. hammer repository create --content-type docker --docker-upstream-name alpine --name alpine --product-id :id --url https://registry-1.docker.io/
3. hammer repository synchronize --id :id
4. Set Library "Unauthenticated pull" to true or use `docker login`
5. docker pull $HOSTNAME/default_organization-docker-prod-alpine
Using default tag: latest
Trying to pull repository $HOSTNAME/default_organization-docker-prod-alpine ...
error parsing HTTP 400 response body: invalid character '<' looking for beginning of value: "<!DOCTYPE HTML PUBLIC \"-//IETF//DTD HTML 2.0//EN\">\n<html><head>\n<title>400 Bad Request</title>\n</head><body>\n<h1>Bad Request</h1>\n<p>Your browser sent a request that this server could not understand.<br />\n</p>\n</body></html>\n"
6. docker pull $HOSTNAME:5000/default_organization-docker-prod-alpine
Using default tag: latest
Trying to pull repository $HOSTNAME:5000/default_organization-docker-prod-alpine ...
sha256:621c2f39f8133acb8e64023a94dbdf0d5ca81896102b9e57c0dc184cadaf5528: Pulling from $HOSTNAME:5000/default_organization-docker-prod-alpine
4fe2ade4980c: Pull complete
Digest: sha256:621c2f39f8133acb8e64023a94dbdf0d5ca81896102b9e57c0dc184cadaf5528
Status: Downloaded newer image for $HOSTNAME:5000/default_organization-docker-prod-alpine:latest

Actual results:
It is possible to pull image directly from Crane, but pulling them from Satellite hostname is not possible.

Expected results:
Using Satellite FQDN as docker hub URL is working for pulling images.

Associated revisions

Revision 1af93f7f (diff)
Added by Justin Sherrill about 2 months ago

Fixes #25922 - allow docker pull in production

in production a header was being set (likely due to passenger) that
looked like '': 'on'. Its unclear where this came from, but crane
does not handle this, so remove it

History

#1 Updated by The Foreman Bot about 2 months ago

  • Status changed from New to Ready For Testing
  • Pull request https://github.com/Katello/katello/pull/7947 added

#2 Updated by Justin Sherrill about 2 months ago

  • Assignee changed from Eric Helms to Justin Sherrill
  • Category changed from Installer to Repositories

#3 Updated by Justin Sherrill about 2 months ago

  • Status changed from Ready For Testing to Closed

#4 Updated by Jonathon Turel about 2 months ago

  • Triaged changed from No to Yes
  • Target version set to Katello 3.12.0

Also available in: Atom PDF