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

update openshift API paths to groupified path #570

Closed
wants to merge 1 commit into from

Conversation

deads2k
Copy link

@deads2k deads2k commented Jan 29, 2019

In 3.7, openshift moved to use groupified kubernetes APIs. This pull updates the containers/image project to use these new APIs. The old-style oapi endpoint is being removed in openshift v4.

@deads2k
Copy link
Author

deads2k commented Jan 30, 2019

@mtrmac Can I get a little help finding the failing tests? TestCopyDirSignatures doesn't appear in my grep of this codebase. Also, the forbidden message leads me to wonder if this is being tested against an old level of openshift.

@mtrmac
Copy link
Collaborator

mtrmac commented Jan 30, 2019

@deads2k The context to this is that c/image/openshift, == the atomic: transport, are deprecated; since openshift/origin#12504 (before v1.5.0-alpha.3), the registry instead provides access by an extension of the docker/distribution API, which is more convenient because it can work without an extra oc login.

If I am checking correctly, the /apis/image.openshift.io namespace was not yet hooked up in 1.5.0 (it only came in 3.6), i.e. we would be breaking users of registries not even two years old.

Is it possible to autodetect which of the two namespaces is supported? That would be ideal.

(I don’t know; maybe we can break support for <3.7 registries (@rhatdan ?), but it’s not very attractive at a glance.)


FWIW the tests are in https://github.com/containers/skopeo/blob/master/integration/copy_test.go , and https://github.com/containers/skopeo/blob/master/Dockerfile indeed installs the very first v1.5.0-alpha.3 version.

(From the testing perspective, it’s convenient that these old versions can reasonably practically run the master and the registry within a single container, i.e. all of our tests run in a single container and we don’t have to worry about networking , actually running the tests on Ubuntu hosts in Travis, or anything else.)

@mtrmac
Copy link
Collaborator

mtrmac commented Jan 30, 2019

@deads2k The context to this is that c/image/openshift, == the atomic: transport, are deprecated; since openshift/origin#12504 (before v1.5.0-alpha.3), the registry instead provides access by an extension of the docker/distribution API, which is more convenient because it can work without an extra oc login.

… and users can refer to the images using docker://, as with any other images, ignoring the fact that the registry is an OpenShift one.

@rhatdan
Copy link
Member

rhatdan commented Apr 25, 2019

@deads2k @mtrmac @vrothberg What is the state of this PR? Is this still something we want or should we close it?

@mtrmac
Copy link
Collaborator

mtrmac commented May 7, 2019

Ideally, it would be nice for the transport to auto-detect the API path. If we have to hard-code, it makes more sense to me to keep hard-coding the old version, because there’s a workaround/improvement available for using the newer servers.

(FWIW it turns out that OpenShift has merged this change in its fork of c/image, instead of changing whatever code depends on atomic: to use docker:// [— and I can’t find any such uses in the openshift/origin repo, except a CLI invocation of skopeo in a test that was disabled, anyway]. master...openshift:openshift-4.0-image-v1.3 )

@deads2k deads2k closed this Jun 26, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants