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

Stabilize ODS E2E tests and improve execution time by moving jenkins agents to a separated own project #766

Open
stitakis opened this issue Mar 22, 2022 · 6 comments
Assignees
Labels
enhancement New feature or request

Comments

@stitakis
Copy link
Member

stitakis commented Mar 22, 2022

Current Problem:
The ODS E2E tests are regularly impacted by broken builds of the jenkins agents dockerfiles (located in folder common).
This leads to permanent overhead of fixing the broken dockerfile.
The main problem is that the jenkins agent images are build from scratch (sequentially) during the setup of ODS E2E test environment (ODSBox).
This make the whole E2E tests strategy very unstable. Unstable E2E builds delay the merge of PRs.

Proposed Solution:
This request proposes to decouple the creation of the jenkins agent images from the build of ODS E2E tests environment.
To achieve this we would need to refactor out the folder common to its own repository. During the CI build of this new repository, the created docker images would be published to dockerhub. The published images would be imported during the tests execution.

This strategy is not new for OpenDevStack project. It is currently applied to create the docker image opendevstackorg/ods-jenkins-agent-base-centos7, which is build during the CI build of ods-core. Same strategy is used to release the provisioning app.

Benefits:
By doing this the ODS E2E tests would depend on published docker image, instead of images build from scratch.
This will not only stabilize the whole E2E tests process, also the execution time will reduced by aprox. 1,5 hrs.

@stitakis stitakis added the enhancement New feature or request label Mar 22, 2022
@stitakis
Copy link
Member Author

Hi @metmajer @michaelsauter @clemensutschig @gerardcl this is a quick win that will provide stabilize the build of the ODSBox and execution of the E2E tests. I'd be more than happy if you can provide your feedback.

@stitakis stitakis changed the title Stabilize ODS E2E tests and improve execution time by refactoring jenkins agents build to its own project Stabilize ODS E2E tests and improve execution time by moving jenkins agents to a separated own project Mar 22, 2022
s2oBCN added a commit to opendevstack/ods-document-generation-svc that referenced this issue Mar 24, 2022
@metmajer
Copy link
Member

@s2oBCN @stitakis cool!

@cschweikert
Copy link
Member

LGTM

One more thought on the proposed solution: What is holding us back from actually using those images directly from dockerhub instead of building them into the respective image streams of the ods namespace and get it from there? With this we could deliver new agent versions much faster and it is also much easier to maintain different flavors of them. Right now we have to do a lot of copy & paste in different places to introduce something like a nodejs 16 agent next to a nodejs 12 agent (se details here: #764).

@stitakis
Copy link
Member Author

stitakis commented Apr 8, 2022

Thanks @cschweikert for the feedback... like you suggested our plan is to publish to dockerhub. The repository ods-docker-images was created for this.

@cschweikert
Copy link
Member

Ah, nice. Will have a look.
@stitakis When I get you correctly the plan for publishing on dockerhub is not just for running the ODS e2e tests, but to also make it available for everybody, right?

@s2oBCN
Copy link
Member

s2oBCN commented Apr 8, 2022

Yes, the repo is created and next week I'll work with the pipeline in order to publish the images to DockerHub

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

4 participants