-
Notifications
You must be signed in to change notification settings - Fork 4.7k
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
Bug 1816812: Enable mirroring test images offline #24887
Conversation
@smarterclayton: This pull request references Bugzilla bug 1816812, which is valid. The bug has been moved to the POST state. The bug has been updated to refer to the pull request using the external bug tracker. 3 validation(s) were run on this bug
In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
@smarterclayton: This pull request references Bugzilla bug 1816812, which is valid. 3 validation(s) were run on this bug
In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
/retest |
1 similar comment
/retest |
608937f
to
055bdaa
Compare
055bdaa
to
f9b46f2
Compare
/retest |
f9b46f2
to
241ee1f
Compare
241ee1f
to
eb5d771
Compare
@smarterclayton: All pull requests linked via external trackers have merged: Bugzilla bug 1816812 has been moved to the MODIFIED state. In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
@smarterclayton will there be a 4.6 backport for getting around CI failures due to the docker.io rate limiting? |
* An upstream image that is provided by `test/utils/image`. | ||
2. If your use case is novel, you must: | ||
* Describe your use case in a PR to this file and have it approved | ||
* Define a standard CI build and publish the image to quay.io in the openshift namespace |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@smarterclayton as i understand it, standard CI builds don't publish content to quay.io, you have to add the mirroring config to https://github.com/openshift/release/blob/master/core-services/image-mirroring/openshift/mapping_origin_4_7 for that to happen.
So is that your expectation?
- add CI that builds it (makes image available on registry.svc.ci)
- add mirroring config that publishes the image to openshift namespace on quay (why do we need this?)
- have automation promote the image to quay mirror location (what location is this? community-e2e-images? should this also be done via the mirroring config?)
- have an OWNER manually push the image to quay.io/openshift/community-e2e-images (still unclear on the relationship between this and (3), why we need both, in what order to do them, etc)
cc @gabemontero
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
(and is (3) also achieved via config in https://github.com/openshift/release/blob/master/core-services/image-mirroring/openshift/mapping_origin_4_7 ? )
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I also don't understand why these instructions tell people to add things to the "init" section of images.go. That's not what i'd expect if someone adds a new test that ref's a new image, only if they have an explicit exception case.
Finally, the instructions say to contact someone in OWNERS in this dir, but there is no OWNERS file in this dir.
/cherrypick release-4.6 |
/cherry-pick release-4.6 |
@deads2k: #24887 failed to apply on top of branch "release-4.6":
In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
@deads2k: #24887 failed to apply on top of branch "release-4.6":
In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
Since openshift/origin#24887 was merged, we've lost some image overrides. Working on this, but in the meantime trying to get some green 4.7 CI runs. Signed-off-by: Christy Norman <christy@linux.vnet.ibm.com>
After openshift/origin#24887 we are seeing image pull errors in CI for ppc64le and s390x. So for now we've created our own multi-arch mirror. Signed-off-by: Rafael Fonseca <r4f4rfs@gmail.com>
Some users wish to run the OpenShift conformance suite disconnected. As a first step, we need to enable a pattern to sync images required by tests from online to offline. To do that, we maintain a public mirror at
quay.io/openshift/community-e2e-images
which contains unsupported but valid images for each version of Kube we release. Theopenshift-tests
command supports a helper to generate a mirror file to take that repo offline for a given release, which integrates naturally withoc image mirror
. After this merges there will be a set of other changes to ensure our tests are using upstream images where possible.A test user would mirror the images to a local registry:
By default, all tests will run from the default mirror (not from the original location) at
quay.io/openshift/community-e2e-images
TODO:
The
openshift-tests images
command generates a mirror file for use withoc image mirror
to sync the images used by tests to a private repository (or to disk). The user would then pass--from-repository
toopenshift-tests run*
.The
--upstream
flag allows the tool to mirror the upstream images to their canonical location on quay.io for general project use. This is only for admin use within the project and results in the images making it toquay.io/openshift/community-e2e-images
- full command is:The change is based around this carry (which I will follow up upstream on). Kube has less practical need for this solution because there is no infrastructure to mirror images in general and this is more specialized to our needs with our offline story (kube has no offline story). Even if this stays a carry, it is fairly compact.
UPSTREAM: : Allow test images to be in a single mirror
In order to enable offline test execution we need to be able to collect all images used by Kube e2e into a single repo and then mirror them. This structure has been discussed but not fully thought through upstream, but we need to enable customers now.
The presence of the env var switches all pullable images to use a single repository (which has been prepared by openshift-tests) except for those images that are explicitly not intended to be pulled (those tests can't run offline anyway). The original map is returned so the mirror has commands to run.