Project

Profile

Help

Story #160

closed

As a user, I can upload and import an xz compressed docker image

Added by jgreguske over 7 years ago. Updated about 3 years ago.

Status:
CLOSED - WONTFIX
Priority:
Normal
Assignee:
-
Start date:
Due date:
% Done:

0%

Estimated time:
Platform Release:
Target Release - Docker:
Groomed:
Yes
Sprint Candidate:
No
Tags:
Pulp 2
Sprint:
Quarter:

Description

Mail from Michael:

It looks like "docker save" only produces an uncompressed tar archive. "docker load" supports gzip, bz2, and xz, but I only know this because I looked at the source. It doesn't appear to be documented anywhere.

In any case, our primary goal is to enable a user to "docker save" and then "pulp upload", and that use case is covered. That said, we could add support for one or more of those compression algorithms as an RFE. Jay, you now know where to file RFEs. :)

In a related issue, I noticed that the docker daemon actually shells out [0] to the "xz" command to decompress xz!!! Presumably this is because golang's standard library doesn't currently support xz. Not that this should be your problem to worry about, but as long as you're choosing a compression algorithm, it's worth knowing that a slight crime is being committed under the hood for one of them.

[0] https://github.com/docker/docker/blob/v1.5.0/pkg/archive/archive.go#L91
Actions #1

Updated by mhrivnak over 7 years ago

  • Assignee deleted (mhrivnak)
Actions #2

Updated by mhrivnak about 7 years ago

  • Tags Sprint Candidate added
Actions #3

Updated by bmbouter about 7 years ago

  • Sprint Candidate set to Yes
  • Tags deleted (Sprint Candidate)
Actions #4

Updated by bmbouter about 7 years ago

  • Groomed set to No
Actions #5

Updated by mhrivnak almost 7 years ago

  • Groomed changed from No to Yes
Actions #6

Updated by mhrivnak over 6 years ago

With docker's v2 content, there is no save feature, and thus no ability to upload an image to pulp. Since this request is in the upload workflow, can we live with the current behavior for v1 content, and not spend time on a change that won't impact v2 content? I would like to just close this issue and let v2 make it irrelevant.

Actions #7

Updated by jgreguske over 6 years ago

mhrivnak wrote:

With docker's v2 content, there is no save feature, and thus no ability to upload an image to pulp. Since this request is in the upload workflow, can we live with the current behavior for v1 content, and not spend time on a change that won't impact v2 content? I would like to just close this issue and let v2 make it irrelevant.

We distribute base images though, which are not produced with docker build. How would you propose we include those in our Pulp-based registries?

Actions #8

Updated by mhrivnak over 6 years ago

Can you provide more information about these images? How are they built, and what do they contain? How are they represented on disk? For docker v2 content, there is no standard way to represent it on disk. Manifests and blobs can only exist inside docker engine or a registry.

Are you aware of the work jluza and friends have been doing to manage v2 content with pulp? They might be able to answer this question.

Actions #9

Updated by pavol.babincak over 6 years ago

mhrivnak wrote:

How are they built, and what do they contain?

Images are built by ImageFactory inside Koji buildsystem. They are base images as docker describes them. That's where you can find more info about the content if you are interested.

How are they represented on disk?

tar.xz Example of the image in Koji: Fedora-Docker-Base-22-20151006.

For docker v2 content, there is no standard way to represent it on disk.

The request is for content saved as tarball as part of v1 worfklow not the v2.

Actions #10

Updated by mhrivnak over 6 years ago

Thanks for the clarification. Since we're all on the same page that this request only affects v1 content, which is deprecated by docker and rapidly declining in use, I will re-ask my question: can we live without this feature, and instead focus our effort on changes that will have long-term value?

Actions #11

Updated by pavol.babincak over 6 years ago

mhrivnak wrote:

Thanks for the clarification. Since we're all on the same page that this request only affects v1 content, which is deprecated by docker and rapidly declining in use,

That may be the case for the docker but since we will need to use v1 content for some time this affects us as well.

I will re-ask my question: can we live without this feature,

Upload doesn't work without recompression to the supported format. That means we cannot live without this feature. Currently we prepare the content manually before we submit this to pulp. As this has to be automated someone needs to write the code which does the job. I believe this code should be done on Pulp side as it provides API fairly similar to docker one (see supported formats for docker load in the first post).

and instead focus our effort on changes that will have long-term value?

Please re-evaluate the amount of the work which needs to be done here.

Actions #12

Updated by mhrivnak about 6 years ago

  • Sprint Candidate changed from Yes to No
Actions #13

Updated by bmbouter about 3 years ago

  • Status changed from NEW to CLOSED - WONTFIX
Actions #14

Updated by bmbouter about 3 years ago

Pulp 2 is approaching maintenance mode, and this Pulp 2 ticket is not being actively worked on. As such, it is being closed as WONTFIX. Pulp 2 is still accepting contributions though, so if you want to contribute a fix for this ticket, please reopen or comment on it. If you don't have permissions to reopen this ticket, or you want to discuss an issue, please reach out via the developer mailing list.

Actions #15

Updated by bmbouter about 3 years ago

  • Tags Pulp 2 added

Also available in: Atom PDF