-
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
re-enable router integration tests #17755
Comments
Can we determine today:
This is going to become more and more of a pain point the longer we wait. We've been asking for containerized tests in this place and for the registry (/cc @bparees @mfojtik @dmage @miminar ) for a while. |
@stevekuznetsov you are talking about test/end-to-end/core.sh, right? Can we split it into smaller pieces and run each piece with its own master api and DinD? Though, to run DinD we still need direct access to the Docker daemon. |
No, I mean the integration suite that was written for the registry and uses the Docker socket: https://github.com/openshift/image-registry/blob/master/pkg/testframework/master.go#L60-L67 These router tests and those registry tests need to be written to work like e2e -- assume an OpenShift cluster is running, deploy your application under test into the cluster using the Go client, test it, etc. The mess of |
@stevekuznetsov for a while? Those tests were written a month ago and they are written the way that they can be executed in parallel. We have global OpenShift resources called So, unless we have to deal with global objects in our tests, we cannot use a single OpenShift instance. |
I may be misremembering but when we tried to put integration tests into a container in January or so there were router and registry tests that needed Docker. If I'm not remembering that correctly, my apologies.
How difficult would it be to make your tests non-disruptive and clean up after themselves? I believe the contract with e.g. |
basically impossible. They could run serially to possibly deal w/ the pruning challenges (except that @smarterclayton yells at us every time we create a serial test), but they still need unique configuration for the registry so at a minimum i think they'd need to delete the deployed registry and recreate it. There may be master configuration required as well, at which point there's no solution but to start a new cluster for the test. |
Are they mostly testing through the Origin API or the registry API? Can we deploy multiple registries, or are they all under the assumption they're a singleton in the cluster? |
They are testing through both API, Origin is a configuration storage for the registry. Deploying multiple registries is the way how to scale, they should serve the same content (if they are started with the proper storage backed). You cannot have two integrated registries that will serve different images. |
Right now are the tests serial? I understand your point @bparees about serial but if it's not changing the status quo and stopping us from having to deploy a separate cluster per test to parallelize it ... |
The integration tests in the image-registry repository are parallel. |
But they're able to run in parallel because they each have their own registry and cluster (effectively) right? If they ran the way Steve wants, they'd need to be serial to avoid interfering with each other. (among other changes that would be required to manage the unique configuration each test requires) |
Right. |
Issues go stale after 90d of inactivity. Mark the issue as fresh by commenting If this issue is safe to close now please do so with /lifecycle stale |
Stale issues rot after 30d of inactivity. Mark the issue as fresh by commenting If this issue is safe to close now please do so with /lifecycle rotten |
Rotten issues close after 30d of inactivity. Reopen the issue by commenting /close |
They required a golang 1.9 node and were failing without it, so they were disabled in the rebase here: https://github.com/openshift/origin/blob/master/Makefile#L188 .
Specifically, we no longer run
COVERAGE_SPEC=' ' DETECT_RACES='false' TIMEOUT='10m' hack/test-go.sh ./test/end-to-end
@openshift/sig-networking
The text was updated successfully, but these errors were encountered: