Pulp: Issueshttps://pulp.plan.io/https://pulp.plan.io/favicon.ico2018-07-23T17:21:11ZPulp
Planio Docker Support - Issue #3880 (CLOSED - WONTFIX): manifest list os and arch attributes on manifest...https://pulp.plan.io/issues/38802018-07-23T17:21:11Ztomckay@redhat.comtomckay@redhat.com
<p>Related to <a href="https://pulp.plan.io/issues/3137" class="external">https://pulp.plan.io/issues/3137</a> I see that os/arch is present in the array of manifests associated with a manifest list. I am wondering if that information can/should be stored on the manifests themselves as well.</p>
<p>I understand that the docker schema does not do this but it seems like it would be useful information when browsing manifests. Or am I misunderstanding and a manifest may belong to more than one manifest list and be associated with more than one os/arch pairing.</p> Docker Support - Story #3623 (CLOSED - DUPLICATE): As a user I can sync a registry by whitelistin...https://pulp.plan.io/issues/36232018-04-27T16:40:16Ztomckay@redhat.comtomckay@redhat.com
<p>On many registries there are many, many tags only a subset of which the user cares to download into pulp. This could be for security reasons (older tags with vulnerabilities) or for disk space considerations.</p>
<p>If the list of tags could be specified during sync api call, this would let client tooling build up the repo content as desired.</p> Docker Support - Story #3497 (CLOSED - CURRENTRELEASE): As a user, I can upload skopeo tar that r...https://pulp.plan.io/issues/34972018-03-16T14:13:14Ztomckay@redhat.comtomckay@redhat.com
<p><strong>Motivation:</strong></p>
<p>To save bandwidth and improve efficiency, layers referred to in a skopeo tar manifest.json that already exist should be allowed to be omitted from the tar.</p>
<p>As I am implementing "docker push" and "skopeo copy docker:", both tools first check if a layer exists before attempting to push it. Since pulp expects all the layers to be part of the upload this leads to having to get the layer from pulp, add it to the tar file, then give tar file to pulp.</p>
<p><strong>Solution:</strong></p>
<p>The upload API will support uploading archives that contain only a subset of layers needed to create the full container image. Archive must contain manifest.json file. When such an archive is uploaded to Pulp, it will be added to the repository only if the missing layers are already present in the repository. If the layers are missing from both the archive being uploaded and repository the upload will fail.</p> Docker Support - Story #3443 (CLOSED - WONTFIX): As an API user, I want to upload skopeo tar comp...https://pulp.plan.io/issues/34432018-03-08T20:52:35Ztomckay@redhat.comtomckay@redhat.com
<p>Currently, to upload a container image directly it is done by using the output of "skopeo copy dir:" and then tar'ing that up. If a client program, in this case foreman, could upload the components individually then it could act as a "docker" api, receiving the component pieces and sending them on to pulp.</p>
<p><a href="https://github.com/pulp/pulp_docker/pull/203" class="external">https://github.com/pulp/pulp_docker/pull/203</a></p> Docker Support - Issue #3350 (CLOSED - WONTFIX): As an API user, I want the Labels, Layers and ot...https://pulp.plan.io/issues/33502018-02-08T19:14:09Ztomckay@redhat.comtomckay@redhat.com
<p>Specifically I need Labels for ansible playbook bundles (APB) in order to determine dependencies and other information. If Layers is not currently stored, those are necessary as well.</p>
<p>Consider registry.access.redhat.com/openshift3/mediawiki-apb:latest</p>
<pre><code>% skopeo-inspect docker://registry.access.redhat.com/openshift3/mediawiki-apb:latest
{
"Name": "devel.example.com:5000/examplecorp-rhcc-openshift3_mediawiki-apb",
"Tag": "v3.6",
"Digest": "sha256:b5d647ff8662d3c23fb94eb93ee1743bf2bb1a11a23a20d417f7d8149b38329a",
"RepoTags": [
"v3.6.173.0.83",
"v3.7",
"v3.6",
"v3.6.173.0.5-7",
"v3.7.14",
"v3.7.23-3",
"v3.6.173.0.5",
"v3.7.9",
"v3.7.9-33",
"v3.6.173.0.96",
"v3.7.14-5",
"latest",
"v3.7.23",
"v3.6.173.0.83-2",
"v3.6.173.0.96-2"
],
"Created": "2018-01-11T01:32:58.265598Z",
"DockerVersion": "1.12.6",
"Labels": {
"License": "GPLv2+",
"architecture": "x86_64",
"authoritative-source-url": "registry.access.redhat.com",
"build-date": "2018-01-11T01:26:40.164364",
"com.redhat.apb.spec": "aWQ6IDRmYmNjMDUxLTAzYWYtNDBjNy04NmUyLWRjMTI5NzdlNmI1ZApuYW1lOiBtZWRpYXdpa2ktYXBiCmltYWdlOiBvcGVuc2hpZnQzL21lZGlhd2lraS1hcGIKZGVzY3JpcHRpb246ICJNZWRpYXdpa2kxMjMgYXBiIGltcGxlbWVudGF0aW9uIgpiaW5kYWJsZTogZmFsc2UKYXN5bmM6IG9wdGlvbmFsCm1ldGFkYXRhOgogIGRpc3BsYXlOYW1lOiAiTWVkaWF3aWtpIChBUEIpIgogIGxvbmdEZXNjcmlwdGlvbjogIkFuIGFwYiB0aGF0IGRlcGxveXMgTWVkaWF3aWtpIDEuMjMiCiAgY29uc29sZS5vcGVuc2hpZnQuaW8vaWNvbkNsYXNzOiBpY29uLW1lZGlhd2lraQogIGRvY3VtZW50YXRpb25Vcmw6ICJodHRwczovL3d3dy5tZWRpYXdpa2kub3JnL3dpa2kvRG9jdW1lbnRhdGlvbiIKcGFyYW1ldGVyczoKICAtIG1lZGlhd2lraV9kYl9zY2hlbWE6CiAgICAgIHRpdGxlOiBNZWRpYXdpa2kgREIgU2NoZW1hCiAgICAgIHR5cGU6IHN0cmluZwogICAgICBkZWZhdWx0OiBtZWRpYXdpa2kKICAtIG1lZGlhd2lraV9zaXRlX25hbWU6CiAgICAgIHRpdGxlOiBNZWRpYXdpa2kgU2l0ZSBOYW1lCiAgICAgIHR5cGU6IHN0cmluZwogICAgICBkZWZhdWx0OiBNZWRpYVdpa2kKICAtIG1lZGlhd2lraV9zaXRlX2xhbmc6CiAgICAgIHRpdGxlOiBNZWRpYXdpa2kgU2l0ZSBMYW5ndWFnZQogICAgICB0eXBlOiBzdHJpbmcKICAgICAgZGVmYXVsdDogZW4KICAtIG1lZGlhd2lraV9hZG1pbl91c2VyOgogICAgICB0aXRsZTogTWVkaWF3aWtpIEFkbWluIFVzZXIKICAgICAgdHlwZTogc3RyaW5nCiAgICAgIGRlZmF1bHQ6IGFkbWluCiAgLSBtZWRpYXdpa2lfYWRtaW5fcGFzczoKICAgICAgdGl0bGU6IE1lZGlhd2lraSBBZG1pbiBVc2VyIFBhc3N3b3JkCiAgICAgIHR5cGU6IHN0cmluZwpyZXF1aXJlZDoKICAtIG1lZGlhd2lraV9kYl9zY2hlbWEKICAtIG1lZGlhd2lraV9zaXRlX25hbWUKICAtIG1lZGlhd2lraV9zaXRlX2xhbmcKICAtIG1lZGlhd2lraV9hZG1pbl91c2VyCiAgLSBtZWRpYXdpa2lfYWRtaW5fcGFzcwo=",
"com.redhat.apb.version": "0.1.0",
"com.redhat.build-host": "rcm-img-docker02.build.eng.bos.redhat.com",
"com.redhat.component": "openshift-enterprise-mediawiki-apb",
"description": "The Red Hat Enterprise Linux Base image is designed to be a fully supported foundation for your containerized applications. This base image provides your operations and application teams with the packages, language runtimes and tools necessary to run, maintain, and troubleshoot all of your applications. This image is maintained by Red Hat and updated regularly. It is designed and engineered to be the base layer for all of your containerized applications, middleware and utilites. When used as the source for all of your containers, only one copy will ever be downloaded and cached in your production environment. Use this image just like you would a regular Red Hat Enterprise Linux distribution. Tools like yum, gzip, and bash are provided by default. For further information on how this image was built look at the /root/anacanda-ks.cfg file.",
"distribution-scope": "public",
"io.k8s.description": "The Red Hat Enterprise Linux Base image is designed to be a fully supported foundation for your containerized applications. This base image provides your operations and application teams with the packages, language runtimes and tools necessary to run, maintain, and troubleshoot all of your applications. This image is maintained by Red Hat and updated regularly. It is designed and engineered to be the base layer for all of your containerized applications, middleware and utilites. When used as the source for all of your containers, only one copy will ever be downloaded and cached in your production environment. Use this image just like you would a regular Red Hat Enterprise Linux distribution. Tools like yum, gzip, and bash are provided by default. For further information on how this image was built look at the /root/anacanda-ks.cfg file.",
"io.k8s.display-name": "Red Hat Enterprise Linux 7",
"io.openshift.tags": "base rhel7",
"name": "openshift3/mediawiki-apb",
"release": "2",
"summary": "Provides the latest release of Red Hat Enterprise Linux 7 in a fully featured and supported base image.",
"url": "https://access.redhat.com/containers/#/registry.access.redhat.com/openshift3/mediawiki-apb/images/v3.6.173.0.96-2",
"vcs-ref": "6b8dbf0e0f417bc04e6ee204ab671f6afd5e162f",
"vcs-type": "git",
"vendor": "Red Hat, Inc.",
"version": "v3.6.173.0.96"
},
"Architecture": "amd64",
"Os": "linux",
"Layers": [
"sha256:9cadd93b16ff2a0c51ac967ea2abfadfac50cfa3af8b5bf983d89b8f8647f3e4",
"sha256:4aa565ad8b7a87248163ce7dba1dd3894821aac97e846b932ff6b8ef9a8a508a",
"sha256:bb6197d4f7d2b1165b3f777e7f315af7beff759983fbc43012e9ddf238c2c045",
"sha256:a93fa94c48a3166bd34732eaff5a0502af49fec4f90b05077cc1d13c893c1430"
]
}
</code></pre> Docker Support - Issue #3309 (CLOSED - NOTABUG): unable to docker pull by digesthttps://pulp.plan.io/issues/33092018-01-22T19:36:07Ztomckay@redhat.comtomckay@redhat.com
<pre><code>[vagrant@devel ~]$ docker pull devel.example.com:5000/examplecorp-dockerhub-busybox:1.28
Trying to pull repository devel.example.com:5000/examplecorp-dockerhub-busybox ...
sha256:7a7714572b84fe1fafbc6b4f8374925249da8642b723d941a5ea214dac19b164: Pulling from devel.example.com:5000/examplecorp-dockerhub-busybox
67a0688b88df: Pull complete
Digest: sha256:7a7714572b84fe1fafbc6b4f8374925249da8642b723d941a5ea214dac19b164
Status: Downloaded newer image for devel.example.com:5000/examplecorp-dockerhub-busybox:1.28
[vagrant@devel ~]$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
devel.example.com:5000/examplecorp-dockerhub-busybox 1.28 f9b6f7f7b9d3 6 days ago 1.143 MB
[vagrant@devel ~]$ docker rmi f9b6f7f7b9d3
Untagged: devel.example.com:5000/examplecorp-dockerhub-busybox:1.28
Untagged: devel.example.com:5000/examplecorp-dockerhub-busybox@sha256:7a7714572b84fe1fafbc6b4f8374925249da8642b723d941a5ea214dac19b164
Deleted: sha256:f9b6f7f7b9d34113f66e16a9da3e921a580937aec98da344b852ca540aaa2242
Deleted: sha256:779f37a09c897c0406eb0a9fdc3a3eb47f973b03049d215ef7d5cede7c8f24d8
[vagrant@devel ~]$ docker pull devel.example.com:5000/sha256:7a7714572b84fe1fafbc6b4f8374925249da8642b723d941a5ea214dac19b164
Trying to pull repository devel.example.com:5000/sha256 ...
unknown: Not Found
</code></pre>
<p>Logs</p>
<pre><code>==> /var/log/httpd/crane_access_ssl.log <==
192.168.121.30 - - [22/Jan/2018:19:35:17 +0000] "GET /v2/ HTTP/1.1" 200 2 "-" "docker/1.12.6 go/go1.8.3 kernel/3.10.0-693.5.2.el7.x86_64 os/linux arch/amd64 UpstreamClient(Docker-Client/1.12.6 \\(linux\\))"
192.168.121.30 - - [22/Jan/2018:19:35:17 +0000] "GET /v2/ HTTP/1.1" 200 2 "-" "docker/1.12.6 go/go1.8.3 kernel/3.10.0-693.5.2.el7.x86_64 os/linux arch/amd64 UpstreamClient(Docker-Client/1.12.6 \\(linux\\))"
192.168.121.30 - - [22/Jan/2018:19:35:17 +0000] "GET /v2/sha256/manifests/7a7714572b84fe1fafbc6b4f8374925249da8642b723d941a5ea214dac19b164 HTTP/1.1" 404 53 "-" "docker/1.12.6 go/go1.8.3 kernel/3.10.0-693.5.2.el7.x86_64 os/linux arch/amd64 UpstreamClient(Docker-Client/1.12.6 \\(linux\\))"
==> /var/log/messages <==
Jan 22 19:35:17 localhost dockerd-current: time="2018-01-22T19:35:17.555465591Z" level=error msg="Not continuing with pull after error: unknown: Not Found"
</code></pre>
<p>Version</p>
<pre><code>[root@devel units]# rpm -qa | grep crane
python-crane-3.1.0-0.2.beta.el7.noarch
[root@devel units]# rpm -qa | grep pulp-server
pulp-server-2.15.0-0.2.beta.el7.noarch
</code></pre> Docker Support - Story #3096 (CLOSED - WONTFIX): As a user, I want to specify download policy for...https://pulp.plan.io/issues/30962017-10-24T12:15:36Ztomckay@redhat.comtomckay@redhat.com
<p>Like for yum repos, I would like to specify a download policy. The specific use case is to enable "on demand" where all the tags are known to the user but it is only when a tag is pulled that the layers are fetched. This is for both disk space and bandwidth considerations.</p> Crane - Issue #2952 (CLOSED - NOTABUG): Use 'endpoint' in /etc/crane.conf in all response headershttps://pulp.plan.io/issues/29522017-08-02T17:27:38Ztomckay@redhat.comtomckay@redhat.com
<p>Setting up an openshift instance to point at foreman (w/ pulp-2.12.2) fails to pull images because it cannot resolve the foreman hostname. The registry specified in openshift was by IP address.</p>
<p>@daviddavis pointed me to this line <a href="https://github.com/pulp/crane/blob/67503493a2af22ea809f0880dd11b3b76f908a15/crane/views/v1.py#L91" class="external">https://github.com/pulp/crane/blob/67503493a2af22ea809f0880dd11b3b76f908a15/crane/views/v1.py#L91</a></p>
<p>python-crane-2.0.2-1.el7sat.noarch</p> Docker Support - Issue #2643 (CLOSED - CURRENTRELEASE): DKR1008: Could not find registry API at h...https://pulp.plan.io/issues/26432017-03-17T16:44:01Ztomckay@redhat.comtomckay@redhat.com
<p>Internal registry <a href="https://docker-registry.engineering.redhat.com" class="external">https://docker-registry.engineering.redhat.com</a> cannot sync repos into foreman. 'docker pull' works</p>
<pre><code>docker pull docker-registry.engineering.redhat.com/thomasmckay/freewill:v2
</code></pre>
<p>Packages:</p>
<pre><code>[root@devel ~]# rpm -qa | grep pulp
pulp-server-2.12.0-1.el7.noarch
pulp-puppet-plugins-2.12.0-1.el7.noarch
pulp-selinux-2.12.0-1.el7.noarch
python-pulp-client-lib-2.12.0-1.el7.noarch
python-pulp-ostree-common-1.2.0-1.el7.noarch
pulp-client-1.0-1.noarch
python-pulp-docker-common-2.3.0-1.el7.noarch
pulp-docker-admin-extensions-2.3.0-1.el7.noarch
python-pulp-puppet-common-2.12.0-1.el7.noarch
python-pulp-oid_validation-2.12.0-1.el7.noarch
pulp-rpm-admin-extensions-2.12.0-1.el7.noarch
python-isodate-0.5.0-4.pulp.el7.noarch
python-kombu-3.0.33-6.pulp.el7.noarch
python-pulp-common-2.12.0-1.el7.noarch
python-pulp-rpm-common-2.12.0-1.el7.noarch
pulp-admin-client-2.12.0-1.el7.noarch
pulp-puppet-tools-2.12.0-1.el7.noarch
pulp-docker-plugins-2.3.0-1.el7.noarch
python-pulp-bindings-2.12.0-1.el7.noarch
pulp-ostree-plugins-1.2.0-1.el7.noarch
pulp-katello-1.0.2-1.el7.noarch
python-pulp-repoauth-2.12.0-1.el7.noarch
pulp-rpm-plugins-2.12.0-1.el7.noarch
python-pulp-streamer-2.12.0-1.el7.noarch
rubygem-smart_proxy_pulp-1.3.0-1.el7.noarch
</code></pre>
<p>Log:</p>
<pre><code>Mar 17 15:36:30 devel.example.com pulp[10325]: pulp.server.async.tasks:DEBUG: Running task : [9337920c-83ba-454f-a9b4-8cfb79d8f478]
Mar 17 15:36:30 devel.example.com pulp[10325]: pulp_docker.plugins.importers.sync:DEBUG: v1 API skipped due to config
Mar 17 15:36:30 devel.example.com pulp[10325]: pulp_docker.plugins.registry:DEBUG: Determining if the registry URL can do v2 of the Docker API.
Mar 17 15:36:30 devel.example.com pulp[10325]: pulp_docker.plugins.registry:DEBUG: Retrieving https://docker-registry.engineering.redhat.com/v2/
Mar 17 15:36:30 devel.example.com pulp[10325]: nectar.downloaders.threaded:DEBUG: Attempting to connect to https://docker-registry.engineering.redhat.com/v2/.
Mar 17 15:36:30 devel.example.com pulp[10325]: requests.packages.urllib3.connectionpool:INFO: Starting new HTTPS connection (1): docker-registry.engineering.redhat.com
Mar 17 15:36:30 devel.example.com pulp[10312]: celery.worker.job:INFO: Task pulp.server.async.tasks._queue_reserved_task[4d1f4ce3-c31c-44c6-8637-301bbb902a2a] succeeded in 0.0419807829894s: None
Mar 17 15:36:30 devel.example.com pulp[10180]: celery.worker.job:DEBUG: Task accepted: pulp.server.managers.repo.sync.sync[9337920c-83ba-454f-a9b4-8cfb79d8f478] pid:10325
Mar 17 15:36:30 devel.example.com pulp[10180]: celery.worker.strategy:INFO: Received task: pulp.server.async.tasks._release_resource[2bff1f0d-b39c-435a-97b9-dff17929a209]
Mar 17 15:36:30 devel.example.com pulp[10456]: pulp.server.webservices.views.decorators:DEBUG: User preauthenticated: admin
Mar 17 15:36:31 devel.example.com pulp[10325]: requests.packages.urllib3.connectionpool:DEBUG: "GET /v2/ HTTP/1.1" 401 87
Mar 17 15:36:31 devel.example.com pulp[10325]: nectar.downloaders.threaded:DEBUG: download failed: Download of https://docker-registry.engineering.redhat.com/v2/ failed with code 401: Unauthorized
Mar 17 15:36:31 devel.example.com pulp[10325]: pulp_docker.plugins.registry:DEBUG: Download unauthorized, attempting to retrieve a token.
Mar 17 15:36:31 devel.example.com pulp[10325]: pulp_docker.plugins.token_util:DEBUG: Requesting token from https://docker-registry.engineering.redhat.com/openshift/token
Mar 17 15:36:31 devel.example.com pulp[10325]: nectar.downloaders.threaded:DEBUG: Attempting to connect to https://docker-registry.engineering.redhat.com/openshift/token.
Mar 17 15:36:31 devel.example.com pulp[10325]: requests.packages.urllib3.connectionpool:INFO: Starting new HTTPS connection (1): docker-registry.engineering.redhat.com
Mar 17 15:36:31 devel.example.com pulp[10456]: pulp.server.webservices.views.decorators:DEBUG: User preauthenticated: admin
Mar 17 15:36:31 devel.example.com pulp[10325]: requests.packages.urllib3.connectionpool:DEBUG: "GET /openshift/token HTTP/1.1" 200 49
Mar 17 15:36:31 devel.example.com pulp[10325]: nectar.downloaders.threaded:DEBUG: Attempting to connect to https://docker-registry.engineering.redhat.com/v2/.
Mar 17 15:36:31 devel.example.com pulp[10325]: requests.packages.urllib3.connectionpool:INFO: Starting new HTTPS connection (2): docker-registry.engineering.redhat.com
Mar 17 15:36:31 devel.example.com pulp[10456]: pulp.server.webservices.views.decorators:DEBUG: User preauthenticated: admin
Mar 17 15:36:32 devel.example.com pulp[10325]: requests.packages.urllib3.connectionpool:DEBUG: "GET /v2/ HTTP/1.1" 401 87
Mar 17 15:36:32 devel.example.com pulp[10325]: nectar.downloaders.threaded:DEBUG: download failed: Download of https://docker-registry.engineering.redhat.com/v2/ failed with code 401: Unauthorized
Mar 17 15:36:32 devel.example.com pulp[10459]: pulp.server.webservices.views.decorators:DEBUG: User preauthenticated: admin
Mar 17 15:36:32 devel.example.com pulp[10325]: pulp.server.async.tasks:INFO: Task failed : [9337920c-83ba-454f-a9b4-8cfb79d8f478] : Could not find registry API at https://docker-registry.engineering.redhat.com
Mar 17 15:36:32 devel.example.com pulp[10325]: pulp.server.async.tasks:DEBUG: (10325-43296) Traceback (most recent call last):
Mar 17 15:36:32 devel.example.com pulp[10325]: pulp.server.async.tasks:DEBUG: (10325-43296) File "/usr/lib/python2.7/site-packages/celery/app/trace.py", line 240, in trace_task
Mar 17 15:36:32 devel.example.com pulp[10325]: pulp.server.async.tasks:DEBUG: (10325-43296) R = retval = fun(*args, **kwargs)
Mar 17 15:36:32 devel.example.com pulp[10325]: pulp.server.async.tasks:DEBUG: (10325-43296) File "/usr/lib/python2.7/site-packages/pulp/server/async/tasks.py", line 505, in __call__
Mar 17 15:36:32 devel.example.com pulp[10325]: pulp.server.async.tasks:DEBUG: (10325-43296) return super(Task, self).__call__(*args, **kwargs)
Mar 17 15:36:32 devel.example.com pulp[10325]: pulp.server.async.tasks:DEBUG: (10325-43296) File "/usr/lib/python2.7/site-packages/pulp/server/async/tasks.py", line 108, in __call__
Mar 17 15:36:32 devel.example.com pulp[10325]: pulp.server.async.tasks:DEBUG: (10325-43296) return super(PulpTask, self).__call__(*args, **kwargs)
Mar 17 15:36:32 devel.example.com pulp[10325]: pulp.server.async.tasks:DEBUG: (10325-43296) File "/usr/lib/python2.7/site-packages/celery/app/trace.py", line 437, in __protected_call__
Mar 17 15:36:32 devel.example.com pulp[10325]: pulp.server.async.tasks:DEBUG: (10325-43296) return self.run(*args, **kwargs)
Mar 17 15:36:32 devel.example.com pulp[10325]: pulp.server.async.tasks:DEBUG: (10325-43296) File "/usr/lib/python2.7/site-packages/pulp/server/controllers/repository.py", line 762, in sync
Mar 17 15:36:32 devel.example.com pulp[10325]: pulp.server.async.tasks:DEBUG: (10325-43296) sync_report = sync_repo(transfer_repo, conduit, call_config)
Mar 17 15:36:32 devel.example.com pulp[10325]: pulp.server.async.tasks:DEBUG: (10325-43296) File "/usr/lib/python2.7/site-packages/pulp/server/async/tasks.py", line 708, in wrap_f
Mar 17 15:36:32 devel.example.com pulp[10325]: pulp.server.async.tasks:DEBUG: (10325-43296) return f(*args, **kwargs)
Mar 17 15:36:32 devel.example.com pulp[10325]: pulp.server.async.tasks:DEBUG: (10325-43296) File "/usr/lib/python2.7/site-packages/pulp_docker/plugins/importers/importer.py", line 83, in sync_repo
Mar 17 15:36:32 devel.example.com pulp[10325]: pulp.server.async.tasks:DEBUG: (10325-43296) self.sync_step = sync.SyncStep(repo=repo, conduit=sync_conduit, config=config)
Mar 17 15:36:32 devel.example.com pulp[10325]: pulp.server.async.tasks:DEBUG: (10325-43296) File "/usr/lib/python2.7/site-packages/pulp_docker/plugins/importers/sync.py", line 89, in __init__
Mar 17 15:36:32 devel.example.com pulp[10325]: pulp.server.async.tasks:DEBUG: (10325-43296) raise PulpCodedException(error_code=error_codes.DKR1008, registry=url)
Mar 17 15:36:32 devel.example.com pulp[10325]: pulp.server.async.tasks:DEBUG: (10325-43296) PulpCodedException: Could not find registry API at https://docker-registry.engineering.redhat.com
Mar 17 15:36:32 devel.example.com pulp[10325]: pulp.server.async.tasks:DEBUG: (10325-43296)
</code></pre> Docker Support - Story #2602 (CLOSED - WONTFIX): As a user, I want docker repos to have "mirror o...https://pulp.plan.io/issues/26022017-02-21T21:51:57Ztomckay@redhat.comtomckay@redhat.com
<p>When an image is synced from a registry, an option to allow only the maintaining of manifests and tags that exist in the upstream registry to exist after sync.</p> Docker Support - Issue #2601 (CLOSED - WORKSFORME): As an admin, I would like the repo_registry_i...https://pulp.plan.io/issues/26012017-02-21T18:02:15Ztomckay@redhat.comtomckay@redhat.com
<pre><code>$ pulp-admin -u admin -p admin docker repo list --repo-id 3-red_hat_container_catalog-v1_0-841eaf2f-8b61-4f07-83fd-649ecbf0e1d9
+----------------------------------------------------------------------+
Docker Repositories
+----------------------------------------------------------------------+
Id: 3-red_hat_container_catalog-v1_0-841eaf2f-8b61-4f07-83fd-6
49ecbf0e1d9
Display Name: rhel
Description: None
Content Unit Counts:
Docker Blob: 30
Docker Manifest: 31
Docker Tag: 31
</code></pre>
<p>The id is useful but the name necessary to pass to 'docker pull' is the repo_registry_id.</p> OSTree Support - Issue #2552 (CLOSED - CURRENTRELEASE): updating ostree rpm gives error on sync: ...https://pulp.plan.io/issues/25522017-01-30T19:55:47Ztomckay@redhat.comtomckay@redhat.com
<p>Running pulp-2.11.0 I had celery worker crashing. A bugzilla indicated that perhaps updating the ostree rpm would correct this problem. I updated to ostree-2016.15. A sync generated this in /var/log/messages</p>
<pre><code>Jan 30 19:22:05 devel pulp: pulp.server.controllers.repository:ERROR: (17294-89056) Exception caught from plugin during publish for repo [examplecorp-Red_Hat_Enterprise_Lin\
ux_Atomic_Host-Red_Hat_Enterprise_Linux_Atomic_Host_Trees]
Jan 30 19:22:05 devel pulp: pulp.server.controllers.repository:ERROR: (17294-89056) Traceback (most recent call last):
Jan 30 19:22:05 devel pulp: pulp.server.controllers.repository:ERROR: (17294-89056) File "/usr/lib/python2.7/site-packages/pulp/server/controllers/repository.py", line 12\
39, in _do_publish
Jan 30 19:22:05 devel pulp: pulp.server.controllers.repository:ERROR: (17294-89056) publish_report = publish_repo(transfer_repo, conduit, call_config)
Jan 30 19:22:05 devel pulp: pulp.server.controllers.repository:ERROR: (17294-89056) File "/usr/lib/python2.7/site-packages/pulp/server/async/tasks.py", line 673, in wrap_\
f
Jan 30 19:22:05 devel pulp: pulp.server.controllers.repository:ERROR: (17294-89056) return f(*args, **kwargs)
Jan 30 19:22:05 devel pulp: pulp.server.controllers.repository:ERROR: (17294-89056) File "/usr/lib/python2.7/site-packages/pulp_ostree/plugins/distributors/web.py", line \
87, in publish_repo
Jan 30 19:22:05 devel pulp: pulp.server.controllers.repository:ERROR: (17294-89056) return self._publisher.process_lifecycle()
Jan 30 19:22:05 devel pulp: pulp.server.controllers.repository:ERROR: (17294-89056) File "/usr/lib/python2.7/site-packages/pulp/plugins/util/publish_step.py", line 566, i\
n process_lifecycle
Jan 30 19:22:05 devel pulp: pulp.server.controllers.repository:ERROR: (17294-89056) super(PluginStep, self).process_lifecycle()
Jan 30 19:22:05 devel pulp: pulp.server.controllers.repository:ERROR: (17294-89056) File "/usr/lib/python2.7/site-packages/pulp/plugins/util/publish_step.py", line 163, i\
n process_lifecycle
Jan 30 19:22:05 devel pulp: pulp.server.controllers.repository:ERROR: (17294-89056) step.process()
Jan 30 19:22:05 devel pulp: pulp.server.controllers.repository:ERROR: (17294-89056) File "/usr/lib/python2.7/site-packages/pulp/plugins/util/publish_step.py", line 253, i\
n process
Jan 30 19:22:05 devel pulp: pulp.server.controllers.repository:ERROR: (17294-89056) self._process_block()
Jan 30 19:22:05 devel pulp: pulp.server.controllers.repository:ERROR: (17294-89056) File "/usr/lib/python2.7/site-packages/pulp/plugins/util/publish_step.py", line 297, i\
n _process_block
Jan 30 19:22:05 devel pulp: pulp.server.controllers.repository:ERROR: (17294-89056) self.process_main()
Jan 30 19:22:05 devel pulp: pulp.server.controllers.repository:ERROR: (17294-89056) File "/usr/lib/python2.7/site-packages/pulp_ostree/plugins/distributors/steps.py", lin\
e 84, in process_main
Jan 30 19:22:05 devel pulp: pulp.server.controllers.repository:ERROR: (17294-89056) repository.pull_local(unit.storage_path, [unit.commit], self.depth)
Jan 30 19:22:05 devel pulp: pulp.server.controllers.repository:ERROR: (17294-89056) File "/usr/lib/python2.7/site-packages/pulp_ostree/plugins/lib.py", line 30, in _fn
Jan 30 19:22:05 devel pulp: pulp.server.controllers.repository:ERROR: (17294-89056) raise LibError(repr(ge))
Jan 30 19:22:05 devel pulp: pulp.server.controllers.repository:ERROR: (17294-89056) LibError: GLib.Error('No such file or directory', 'g-io-error-quark', 1)
</code></pre> Pulp - Issue #2551 (CLOSED - CURRENTRELEASE): Pulp task error messages should be more informativehttps://pulp.plan.io/issues/25512017-01-30T15:59:50Ztomckay@redhat.comtomckay@redhat.com
<p>Syncing a repo from katello an error was reported:<br>
PLP0000: The task status 23a81cbf-547b-4c16-9eba-0bf478399da1 exited immediately for some reason. Marking as errored. Check the logs for more details</p>
<p>the /var/log/messages had the detailed</p>
<p>celery.worker.job:ERROR: (15661-67328) WorkerLostError: Worker exited prematurely: signal 6 (SIGIOT)</p>
<p>pulp-2.11.0-1.el7</p> Crane - Issue #2536 (CLOSED - WONTFIX): error for docker pull of non-existent tag not clearhttps://pulp.plan.io/issues/25362017-01-19T18:46:25Ztomckay@redhat.comtomckay@redhat.com
<pre><code>
docker version: docker-1.10.3-53.gite03ddb8.fc24.x86_64
Against a katello dev server
# docker pull devel.example.com:5000/examplecorp-production-rhelbase-r
hcc-rhel:7.3-45
Trying to pull repository devel.example.com:5000/examplecorp-production-rhelbase-rhcc-rhel ...
Error parsing HTTP response: 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
/>\nReason: You're speaking plain HTTP to an SSL-enabled server port.<br />\n Instead use the HTTP
S scheme to access this URL, please.<br />\n</p>\n</body></html>\n"
From /var/log/httpd/crane_access_ssl.log
192.168.100.1 - - [19/Jan/2017:16:29:59 +0000] "GET /v2/ HTTP/1.1" 200 2 "-" "docker/1.10.3 go/go1.6.3 kernel/4.7.9-200.fc24.x86_64 os/linux arch/amd64"
192.168.100.1 - - [19/Jan/2017:16:29:59 +0000] "GET /v2/examplecorp-production-rhelbase-rhcc-rhel/manifests/7.3-45 HTTP/1.1" 302 405 "-" "docker/1.10.3 go/go1.6.3 kernel/4.7.9-200.fc24.x86_64 os/linux arch/amd64"
192.168.100.1 - - [19/Jan/2017:16:30:00 +0000] "GET / HTTP/1.0" 400 362 "-" "-"
192.168.100.1 - - [19/Jan/2017:16:30:00 +0000] "GET / HTTP/1.0" 400 362 "-" "-"
Other examples
# docker pull docker.io/thomasmckay/hammer:abcdef
Trying to pull repository docker.io/thomasmckay/hammer ...
Pulling repository docker.io/thomasmckay/hammer
Tag abcdef not found in repository docker.io/thomasmckay/hammer
# docker pull registry.access.redhat.com/rhel7/rhel:abcdef123
Trying to pull repository registry.access.redhat.com/rhel7/rhel ...
Error parsing HTTP response: invalid character 'F' looking for beginning of value: "File not found.\""
</code></pre> Docker Support - Issue #2425 (CLOSED - NOTABUG): docker pull of an image digest gives "unauthoriz...https://pulp.plan.io/issues/24252016-11-15T22:35:10Ztomckay@redhat.comtomckay@redhat.com
<pre><code>$ docker pull katello.example.com:5000@sha256:fd1580c6c9ba4980d452cefd965f54fc9848b84b0de19ebbb3b58bcf6e126e2b
Trying to pull repository docker.io/library/katello.example.com ...
unauthorized: authentication required
unauthorized: authentication required
</code></pre>
<p>This is pulling an image by digest immediately after pulling the image by name and tag.</p>