-
-
Notifications
You must be signed in to change notification settings - Fork 335
Utilise containers in Azure dynamic VMs for AQA runs #6553
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
base: master
Are you sure you want to change the base?
Conversation
|
Conflicts resolved. Pre-conflict-resultion branch has been tested again at with Marking ready for review as an initial pass that can be tested. |
|
Hmm in fact using |
|
Made a temporary change to https://ci.adoptium.net/manage/cloud/Azure/template/test-linux-x64/ to add |
|
Try different test targets and jdk versions
|
| for (int i = 1; i <= ITERATIONS; i++) { | ||
| echo "ITERATION: ${i}/${ITERATIONS}" | ||
| if (env.SPEC.contains('linux') && !(LABEL.contains('ci.agent.dynamic') && CLOUD_PROVIDER == 'azure') && (BUILD_LIST != "external")) { | ||
| if (env.SPEC.contains('linux') && (BUILD_LIST != "external")) { |
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.
Will this change work for CLOUD_PROVIDER=fyre, EBC?
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'll have to defer to someone who knows about how we integrate with those systems more than I do.
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.
Having said that, I doubt they'd be using CLOUD_PROVIDER=azure so it shouldn't affect those scenarios.
| docker.image('adoptopenjdk/centos7_build_image').pull() | ||
| docker.image('adoptopenjdk/centos7_build_image').inside { | ||
| // Set dockerimage for azure agent. Fyre has stencil to setup the right environment | ||
| docker.image('ghcr.io/adoptium/test-containers:ubi10').pull() |
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.
Could we start from ubuntu2404, which is more popular and open?
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.
Probably also point at the other named dir, adoptium_test_image, as discussed to avoid confusion around the test-containers product.
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.
Could we start from ubuntu2404, which is more popular and open?
Why do you consider UBI10 to not be open? We have both images so either can work here, although for this initial prototype I chose the potentially more awkward one (UBI10 uses weston instead of Xvfb) to ensure we spot any errors.
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.
Probably also point at the other named dir, adoptium_test_image, as discussed to avoid confusion around the test-containers product.
Yeah as discussed that's a good idea in the future, but this should be considered an initial pass to see how it works and so I wouldn't wish to block merging of this PR and it's testing on going back and republishing images at this stage.
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.
Agree, both this and container selection can be future revisions.
PASS!
Hmmm 4 test case failures there, 2 of which are in multicast tests.
Timeout in |
|
Yes, multicast and I believe some testcases may be trying to launch containers, given the output text of failed testcases is saying was going to check if those run 'fine' on a static docker container, if we have one for x64 Linux. |
Initial implementation of #5684 based on last year's work in #5683
This PR is designed to allow dynamic containers, provisioned with Azure, to be used for AQA jobs. It spins up a system with docker installed (defined by the Azure VM agents plugin config) and then pulls down a docker image (currently UBI10) and runs a job on it. This behaviour is triggered by setting the parameter
CLOUD_PROVIDER=azurein the Test jobs.This also makes a small modification to the
westonsupport in EL10 distributions to allow a dynamicXDG_RUNTIME_DIRto be used (within the jenkins workspace) so that it does not haver to be in a fixed, reusable location on the machine. FYI @llxia @AdamBrousseau as it would be good to have your confirmation that this does not break anything on your side for EL10.In the future it is envisioned that this will allow support for different distributions (at the moment we have ubi10, ubuntu2204 and ubuntu2404 on the ghcr.io registry. It is also likely that we will change the address from
ghcr.io/adoptium/test-containersto something else in the future to avoid confusion with other products of a similar name :-)