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

use registry.access.redhat.com/ubi8-minimal for multi-arch support #7

Merged
merged 1 commit into from
May 14, 2021

Conversation

yselkowitz
Copy link
Contributor

Unfortunately, quay.io/quay/busybox is single-arch.

/cc @gabemontero

@openshift-ci-robot
Copy link

@yselkowitz: GitHub didn't allow me to request PR reviews from the following users: gabemontero.

Note that only openshift members and repo collaborators can review this PR, and authors cannot review their own PRs.

In response to this:

Unfortunately, quay.io/quay/busybox is single-arch.

/cc @gabemontero

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.

@yselkowitz
Copy link
Contributor Author

/cc @gabemontero

@openshift-ci-robot
Copy link

@yselkowitz: GitHub didn't allow me to request PR reviews from the following users: gabemontero.

Note that only openshift members and repo collaborators can review this PR, and authors cannot review their own PRs.

In response to this:

/cc @gabemontero

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.

@gabemontero
Copy link
Contributor

@yselkowitz I'd rather pull down the docker.io busybox, docker tag it, and push it to quay.io/redhat-developer to avoid docker.io throttling

@sbose78 can help us with creating the landing spot in quay.io/redhat-developer

@bparees @adambkaplan FYI

@yselkowitz
Copy link
Contributor Author

How often are you building this that their rate limiting would be an issue?

@gabemontero
Copy link
Contributor

How often are you building this that their rate limiting would be an issue?

even if this is a special case and does not get rebuilt often, throttling has been enough of a pain point I don't want this getting caught up in some sort of "docker.io" scan or something ... call it "good PR"

I'll ping @sbose78 this afternoon after all my meetings if he dies not see this mention in the interim

@yselkowitz
Copy link
Contributor Author

could we (feasibly) switch these to e.g. ubi8-minimal instead?

@gabemontero
Copy link
Contributor

could we (feasibly) switch these to e.g. ubi8-minimal instead?

I'm willing to try that yes. It would involve creating the image and then modifying openshift/origin e2e's and running them against a personal cluster to confirm it works.

@gabemontero
Copy link
Contributor

Well, to say I'm willing, I mean I'm willing for someone to try it :-)

It would minimally be next week before I could get to it

@yselkowitz
Copy link
Contributor Author

Multi-arch images for testing, with docker.io/busybox:

quay.io/multi-arch/test-build-roots2i:latest
quay.io/multi-arch/test-build-simple2i:latest

With ubi8-minimal:

quay.io/multi-arch/test-build-roots2i:ubi8
quay.io/multi-arch/test-build-simple2i:ubi8

@yselkowitz
Copy link
Contributor Author

As a possible alternative, do we own this: quay.io/openshifttest/busybox:multiarch

@sbose78
Copy link

sbose78 commented Mar 25, 2021

I can help!

@gabemontero
Copy link
Contributor

@yselkowitz just to be sure, when you say "multi arch image", you mean you can use quay.io/multi-arch/test-build-roots2i:latest etc. on x86, s390x, ppc64le, etc. and the registry will give you the right arch version, correct?

Assuming so, the process here is as follows:

You very well may have already done this, but the hits under the test/extended from one's https://github.com/openshift/origin clone are, where one would change from quay.io/redhat-developer to quay.io/multi-arch:

gmontero ~/go/src/github.com/openshift/origin/test/extended  (image-eco-e2e-mirror-nono)$ find . -name "*" -exec grep -s -H roots2i {} \;
./util/image/image.go:		"registry.ci.openshift.org/ocp/4.7:test-build-roots2i": -1,
./util/image/zz_generated.txt:registry.ci.openshift.org/ocp/4.7:test-build-roots2i quay.io/openshift/community-e2e-images:e2e-registry-ci-openshift-org-ocp-4-7-test-build-roots2i-tG08qb6aSmDhxBBy
./builds/s2i_root.go:		firstArgString := fmt.Sprintf("%s~https://github.com/sclorg/nodejs-ex", image.LocationFor("registry.ci.openshift.org/ocp/4.7:test-build-roots2i"))
./builds/s2i_root.go:		firstArgString := fmt.Sprintf("%s~https://github.com/sclorg/nodejs-ex", image.LocationFor("registry.ci.openshift.org/ocp/4.7:test-build-roots2i"))
gmontero ~/go/src/github.com/openshift/origin/test/extended  (image-eco-e2e-mirror-nono)$ find . -name "*" -exec grep -s -H simples2i {} \;
./testdata/templates/templateinstance_readiness.yaml:          name: quay.io/redhat-developer/test-build-simples2i:latest
./testdata/bindata.go:          name: quay.io/redhat-developer/test-build-simples2i:latest
./testdata/bindata.go:          "name": "quay.io/redhat-developer/test-build-simples2i:latest"
./testdata/bindata.go:        name: quay.io/redhat-developer/test-build-simples2i:latest
./testdata/bindata.go:        name: quay.io/redhat-developer/test-build-simples2i:latest
./testdata/bindata.go:        name: quay.io/redhat-developer/test-build-simples2i:latest
./testdata/bindata.go:          name: quay.io/redhat-developer/test-build-simples2i:latest
./testdata/bindata.go:          name: quay.io/redhat-developer/test-build-simples2i:latest
./testdata/bindata.go:          name: quay.io/redhat-developer/test-build-simples2i:latest
./testdata/bindata.go:          name: quay.io/redhat-developer/test-build-simples2i:latest
./testdata/bindata.go:          name: quay.io/redhat-developer/test-build-simples2i:latest
./testdata/bindata.go:              "name": "quay.io/redhat-developer/test-build-simples2i:latest"
./testdata/bindata.go:              "name": "quay.io/redhat-developer/test-build-simples2i:latest"
./testdata/bindata.go:          "name":"quay.io/redhat-developer/test-build-simples2i:latest"
./testdata/bindata.go:          "name": "quay.io/redhat-developer/test-build-simples2i:latest"
./testdata/bindata.go:          "name": "quay.io/redhat-developer/test-build-simples2i:latest"
./testdata/bindata.go:        name: quay.io/redhat-developer/test-build-simples2i:latest
./testdata/bindata.go:        name: quay.io/redhat-developer/test-build-simples2i:latest
./testdata/bindata.go:          name: quay.io/redhat-developer/test-build-simples2i:latest
./testdata/builds/build-timing/test-s2i-build.json:          "name": "quay.io/redhat-developer/test-build-simples2i:latest"
./testdata/builds/test-s2i-no-outputname.json:          "name": "quay.io/redhat-developer/test-build-simples2i:latest"
./testdata/builds/test-build-cluster-config.yaml:          name: quay.io/redhat-developer/test-build-simples2i:latest
./testdata/builds/test-build-cluster-config.yaml:          name: quay.io/redhat-developer/test-build-simples2i:latest
./testdata/builds/test-auth-build.yaml:          name: quay.io/redhat-developer/test-build-simples2i:latest
./testdata/builds/test-build-proxy.yaml:          name: quay.io/redhat-developer/test-build-simples2i:latest
./testdata/builds/test-build-proxy.yaml:          name: quay.io/redhat-developer/test-build-simples2i:latest
./testdata/builds/test-s2i-build-quota.json:          "name":"quay.io/redhat-developer/test-build-simples2i:latest"
./testdata/builds/statusfail-pushtoregistry.yaml:        name: quay.io/redhat-developer/test-build-simples2i:latest
./testdata/builds/statusfail-failedassemble.yaml:        name: quay.io/redhat-developer/test-build-simples2i:latest
./testdata/builds/test-s2i-build.json:          "name": "quay.io/redhat-developer/test-build-simples2i:latest"
./testdata/builds/valuefrom/failed-sti-build-value-from-config.yaml:        name: quay.io/redhat-developer/test-build-simples2i:latest
./testdata/builds/valuefrom/successful-sti-build-value-from-config.yaml:        name: quay.io/redhat-developer/test-build-simples2i:latest
./testdata/builds/build-postcommit/sti.yaml:          name: quay.io/redhat-developer/test-build-simples2i:latest
./testdata/builds/test-build-revision.json:              "name": "quay.io/redhat-developer/test-build-simples2i:latest"
./testdata/builds/test-nosrc-build.json:              "name": "quay.io/redhat-developer/test-build-simples2i:latest"
./testdata/builds/statusfail-postcommithook.yaml:        name: quay.io/redhat-developer/test-build-simples2i:latest
gmontero ~/go/src/github.com/openshift/origin/test/extended  (image-eco-e2e-mirror-nono)$ 

you then make clean / make build to get a new openshift-tests binary. Then with your KUBECONFIG set to whatever cluster you've provisioned, you run

./openshift-tests run openshift/build to verify the build e2e suite, and
./openshift-tests run openshift/templates to verify that one usage in the template e2e suite.

Assuming things work, we merge this, and someone starts on the openshift/origin PR for those above hits.

the util image hits are fun. That is all part of Clayton's initiative to make e2e's fully "disconnected" where are all images are accessed from mirrors set up in CI.

The process for all that is documented at https://github.com/openshift/origin/tree/master/test/extended/util/image

Ultimately, you need to work with Clayton directly to get him to push a version of these images to registry.ci.openshift.org/ocp

@gabemontero
Copy link
Contributor

I've also opened https://issues.redhat.com/browse/BUILD-250 to track getting this done by someone on the build api team if we do not get to this in "less official" fashion so to speak

@gabemontero
Copy link
Contributor

gabemontero commented May 11, 2021

So per openshift/origin#26149 (comment) @yselkowitz
I'd rather go with with FROM registry.access.redhat.com/ubi8-minimal:latest if it is functional.

I'm lending a quick assist to @alicerum and trying out "quay.io/multi-arch/test-build-roots2i:ubi8" on its own now.

I'll report back with results. Assuming things are good, let's switch to ubi8-minimal in this PR and merge it. That will facilitate the BUILD-250 work she is doing.

We can consider ubi8-micro at a later date.

@gabemontero
Copy link
Contributor

Or if you'd rather we craft our own PR @yselkowitz to replace what you have here, we can do that too. Thanks.

@gabemontero
Copy link
Contributor

thanks @yselkowitz

/retitle use registry.access.redhat.com/ubi8-minimal for multi-arch support

@openshift-ci openshift-ci bot changed the title Use docker.io/busybox for multi-arch support use registry.access.redhat.com/ubi8-minimal for multi-arch support May 11, 2021
@gabemontero
Copy link
Contributor

fyi

passed: (45.7s) 2021-05-11T22:54:39 "[sig-builds][Feature:Builds] s2i build with a root user image should create a root build and pass with a privileged SCC [Skipped:Disconnected] [Suite:openshift/conformance/parallel]"

when I tried the multi-arch image locally

@gabemontero
Copy link
Contributor

also passed in my test PR

and given the only minor diff between roots2i and simples2i @yselkowitz @alicerum @adambkaplan I think we can merge this

/lgtm
/approve

@openshift-ci
Copy link

openshift-ci bot commented May 11, 2021

@gabemontero: changing LGTM is restricted to collaborators

In response to this:

also passed in my test PR

and given the only minor diff between roots2i and simples2i @yselkowitz @alicerum @adambkaplan I think we can merge this

/lgtm
/approve

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.

@gabemontero
Copy link
Contributor

@gabemontero: changing LGTM is restricted to collaborators

ok @bparees or @adambkaplan will have to merge this

Copy link

@adambkaplan adambkaplan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/lgtm

@openshift-ci
Copy link

openshift-ci bot commented May 12, 2021

@adambkaplan: changing LGTM is restricted to collaborators

In response to this:

/lgtm

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.

@adambkaplan
Copy link

fyi @gabemontero you are also listed as an approver in the OWNERS file, and should be able to approve/lgtm

@adambkaplan
Copy link

yep - spoke with dptp team, will be setting that up today.

@bparees
Copy link
Contributor

bparees commented May 12, 2021

seems like the prow config for this repo is not correct.

@bparees
Copy link
Contributor

bparees commented May 12, 2021

/lgtm

@bparees
Copy link
Contributor

bparees commented May 12, 2021

@adambkaplan since this repo impacts e2e tests for the org(right?), merges to this repo should require e2e tests to pass.

@openshift-ci openshift-ci bot added the lgtm Indicates that a PR is ready to be merged. label May 12, 2021
@adambkaplan
Copy link

Correct - we should have e2e-* and e2e-*-build

@adambkaplan
Copy link

CI fixes for this repo: openshift/release#18523

@gabemontero
Copy link
Contributor

Correct - we should have e2e-* and e2e-*-build

Per #7 (comment) I ran build e2e using the manually built image @yselkowitz pushed to quay.io/multiarch

@gabemontero
Copy link
Contributor

gabemontero commented May 14, 2021

also the way the imagestream tagging and mirroring works these changes won't get picked up until we change openshift/origin to pick them up

the roots2i tests works off of registry.ci.openshift.org/ocp/4.7:test-build-roots2i and its mapping to the associated mirrored image from quay.io/openshift/community-e2e-images

This PR and openshift/release#18523 ultimately update registry.ci.openshift.org/ocp/4.8:test-build-roots2i

It will be a 2 step process to change the e2e in https://github.com/openshift/origin/pull/26149/files to work off registry.ci.openshift.org/ocp/4.8:test-build-roots2i and a new mirrored mapping to quay.io/openshift/community-e2e-images

So we merge openshift/release#18523 and then this one. The validate things in openshift/origin#26149 without disrupting other PRs or periodics, as we have not changed registry.ci.openshift.org/ocp/4.7:test-build-roots2i and its mapping to the associated mirrored image from quay.io/openshift/community-e2e-images

(I'm re-learning the complicated https://github.com/openshift/origin/tree/master/test/extended/util/image process and now have (re)established some level of understanding)

@gabemontero
Copy link
Contributor

OK openshift/release#18523 has merged.

I think we need to close and reopen this to pick up the CI changes. Will try other stuff first.

The rest below is another attempt to explain our use of https://github.com/openshift/origin/tree/master/test/extended/util/image in relation to the (current at least) lack of need to run the e2e's. Though they can catch unexpected refs to the test images, so I am not advocating removing its use with this repo.

To reiterate what I mentioned in #7 (comment), changes to this repo on its own are not going to affect e2e-aws or e2e-aws-builds on its own, as the openshift/origin tests are currently constructed, since our tests use the 4.7 images, and master branch now points to 4.8.

Moving forward, if the image ref in openshift/origin is aligned with whatever release master branch is pointing to, then the effect will still not immediate, if we follow the prior convention of mapping registry.ci.openshift.org/ocp/4.8:test-build* to images in quay.io/openshift/community-e2e-images, where we need CI admins to push to quay.io/openshift/community-e2e-images

We only need these tests to run if we ever have direct registry.ci.openshift.org/ocp/4.8:test-build* refs in our tests. Though if we do, that will possibly break down when running in disconnected (at least I think)

@gabemontero
Copy link
Contributor

/approve

@openshift-ci
Copy link

openshift-ci bot commented May 14, 2021

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: adambkaplan, bparees, gabemontero, yselkowitz

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@openshift-ci openshift-ci bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label May 14, 2021
@gabemontero
Copy link
Contributor

/refresh

@gabemontero
Copy link
Contributor

OK have the tide indicator now.

@openshift-merge-robot openshift-merge-robot merged commit 8dc6fb3 into openshift:master May 14, 2021
@gabemontero
Copy link
Contributor

So after openshift/release#18523 merged we got

registry.ci.openshift.org/ocp/4.8 test-build-simples2i bd5bc84df5ba 2 hours ago 392 MB

I'll check it periodically between now and Monday to make sure that gets updated based on this PR merging.

Assuming it does, the story will continue in openshift/origin#26149 where we update the e2e's and some someone from https://github.com/openshift/origin/blob/master/test/extended/util/image/OWNERS to mirror to quay.io/openshift/community-e2e-images:TAG

Ultimately, per the "https://github.com/openshift/origin/blob/master/test/extended/util/image/README.md process" for lack of a better term, someone from https://github.com/openshift/origin/blob/master/test/extended/util/image/OWNERS will have to mirror the multi arch versions of these images to quay.io/openshift/community-e2e-images:TAG

@gabemontero
Copy link
Contributor

registry.ci update as a result of this PR occurred:

registry.ci.openshift.org/ocp/4.8 test-build-simples2i 535d5b6dc170 About an hour ago 392 MB

@yselkowitz yselkowitz mentioned this pull request Jun 2, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved Indicates a PR has been approved by an approver from all required OWNERS files. lgtm Indicates that a PR is ready to be merged.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants