Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[1.0.0] Need actual independent implementations #126

Closed
cyphar opened this issue Jun 8, 2016 · 22 comments
Closed

[1.0.0] Need actual independent implementations #126

cyphar opened this issue Jun 8, 2016 · 22 comments

Comments

@cyphar
Copy link
Member

cyphar commented Jun 8, 2016

Currently we don't have any canonical independent implementations of the specification. Docker's image format is different to ours (even though the base came from them), and rkt doesn't have support for ours.

As a result, this spec is entirely untested as we don't have any code implementing the spec word-for-word. As several people have discussed on the mailing list, this should be considered a blocking issue for 1.0.

Personally, I would want to have two implementations of the image-spec (like we do with the runtime-spec) before we can consider this ready. Preferably these implementations would be part of Docker and rkt (and have a reasonable cook time).

@cyphar cyphar changed the title [1.0.0] Need actual independant implementations [1.0.0] Need actual independent implementations Jun 8, 2016
@philips
Copy link
Contributor

philips commented Jun 8, 2016

The OCI image format is not different than the Docker image format. Changing the single media-type string constant doesn't make the format schema different. And on top of that we have added tests, documentation, JSON schema, etc.

We have one independent implementation of the specification, the oci-image-tool in this tree. But, lets say we have working patches today for Docker and rkt today. Then how long would we have to wait after that to say it is "tested". Does it need to be merged? How many releases?

My opinion: it would be nice to have independent implementations ahead of the release but we are hitting a chicken-and-egg situation here and delaying a release isn't going to fix the situation. The OCI is mandated in the governance docs to be compatible, section 7.g:

The first version of the OCI Specification should strive to be backwards compatible with the initial container image format and runtime contribution.

And the format we have here today is schema identical with systems widely used in production: Docker Hub, Docker Engine, rkt, etc.

@cyphar
Copy link
Member Author

cyphar commented Jun 8, 2016

We have one independent implementation of the specification, the oci-image-tool in this tree. But, lets say we have working patches today for Docker and rkt today. Then how long would we have to wait after that to say it is "tested". Does it need to be merged? How many releases?

AFAICS this code (specifically the unpacking code) was merged 8 days ago. Am I misunderstanding something? The validation code is older than that, but my understanding of image-spec is that we define a format so that people can implement unpacking tools. Ours has only been in mainline for a week(!).

delaying a release isn't going to fix the situation.

Who decided that we have to release 1.0.0 this month? The use of the word "delaying" makes it sound like it's set in stone. It's not. The original PR went through less than a day of cook time, and there wasn't any linked mailing list discussion of roadmaps. Maybe those discussions happened somewhere else, but the fact that there isn't even a link to them doesn't inspire confidence.

Also, can I please draw our attention to the fact that the "examples" in the README don't work, because we don't have code in either Docker nor rkt that actually allows people to use this image format.

And the format we have here today is schema identical with systems widely used in production: Docker Hub, Docker Engine, rkt, etc.

So it should be trivial to write PRs to get code merged upstream, right? If it's schematically identical, all of the differences are minor, etc -- why don't we actually write some code and merge it upstream to prove that we are serious about 1.0.0?

@philips
Copy link
Contributor

philips commented Jun 8, 2016

@cyphar The decision and rough milestones were ratified by the OCI TOB in March of 2016. You can find the mailing list thread here: https://groups.google.com/a/opencontainers.org/d/msg/tob/KGyPpu8YfNk/JnOvOEdSBQAJ

@cyphar
Copy link
Member Author

cyphar commented Jun 8, 2016

@philips Do all maintainers still agree with the roadmap? It doesn't look like the community agrees IMO. Maybe we should hold another vote?

@vbatts
Copy link
Member

vbatts commented Jun 8, 2016

See also https://tools.ietf.org/html/rfc5657

@vbatts vbatts added this to the v1.0.0 milestone Jun 8, 2016
@vbatts
Copy link
Member

vbatts commented Jul 29, 2016

@vbatts
Copy link
Member

vbatts commented Jul 29, 2016

Skopeo now supports OCI image format and layout https://github.com/projectatomic/skopeo, via the https://github.com/containers/image library. /cc @runcom

@philips
Copy link
Contributor

philips commented Aug 10, 2016

rkt supports fetching and running OCI images: https://groups.google.com/a/opencontainers.org/forum/#!topic/dev/Am7byGvLCUQ

@stevvooe
Copy link
Contributor

Here is the docker proposal for OCI support: moby/moby#25779.

@vbatts
Copy link
Member

vbatts commented Sep 14, 2016

I think this is done now

@vbatts
Copy link
Member

vbatts commented Sep 14, 2016

(this issue)

@runcom
Copy link
Member

runcom commented Sep 14, 2016

here is the WIP Docker PR for OCI support moby/moby#26369

@vbatts
Copy link
Member

vbatts commented Oct 4, 2016

Criteria:

  • copy image to oci w/ skopeo
  • run with rkt
  • load to Docker
  • run w/ Docker
  • save from Docker
  • export and run w/ runc

@vbatts
Copy link
Member

vbatts commented Oct 4, 2016

@caniszczyk
Copy link
Contributor

@philips
Copy link
Contributor

philips commented Oct 23, 2016

I am satisfied this is heading in the right direction; can someone put a README entry together with all of this?

@wking
Copy link
Contributor

wking commented Oct 25, 2016

On Sun, Oct 23, 2016 at 10:56:25AM -0700, Brandon Philips wrote:

I am satisfied this is heading in the right direction; can someone
put a README entry together with all of this?

There's a lot of stuff in the current image-spec README. Do we want
to follow runtime-spec and put this information in implementations.md
1?

@philips
Copy link
Contributor

philips commented Oct 26, 2016

@wking an implementations doc seems like a great idea!

@cyphar
Copy link
Member Author

cyphar commented Nov 22, 2016

umoci is tooling that I've been working on, which will eventually be integrated into KIWI and OBS to allow for OCI images to built inside the Open Build Service.

@philips
Copy link
Contributor

philips commented Jan 27, 2017

@vbatts
Copy link
Member

vbatts commented Mar 9, 2017

I think this is good. Perhaps best to have a wiki page or similar for listing these things.

@vbatts
Copy link
Member

vbatts commented Mar 9, 2017

oh we've disabled wiki. fair... perhaps just close this and folks can add comments if they feel inclined? Seems like it ought to be tracked somewhere, but not keeping this issue open indefinitely

vbatts added a commit to vbatts/oci-image-spec that referenced this issue Mar 9, 2017
Fixes opencontainers#126

Signed-off-by: Vincent Batts <vbatts@hashbangbash.com>
vbatts added a commit to vbatts/oci-image-spec that referenced this issue Mar 9, 2017
Fixes opencontainers#126

Signed-off-by: Vincent Batts <vbatts@hashbangbash.com>
vbatts added a commit to vbatts/oci-image-spec that referenced this issue Mar 9, 2017
Fixes opencontainers#126

Signed-off-by: Vincent Batts <vbatts@hashbangbash.com>
vbatts added a commit to vbatts/oci-image-spec that referenced this issue Mar 9, 2017
Fixes opencontainers#126

Signed-off-by: Vincent Batts <vbatts@hashbangbash.com>
vbatts added a commit to vbatts/oci-image-spec that referenced this issue Mar 9, 2017
Fixes opencontainers#126

Signed-off-by: Vincent Batts <vbatts@hashbangbash.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

7 participants