Skip to content

Conversation

@v1v
Copy link
Member

@v1v v1v commented Dec 5, 2021

What does this PR do?

PoC with K8s CI Workers

Checklist

  • [ ] This is an enhancement of existing features, or a new feature in existing plugins
    • I have updated CHANGELOG.asciidoc
    • I have added tests that prove my fix is effective or that my feature works
    • Added an API method or config option? Document in which version this will be introduced
    • I have made corresponding changes to the documentation
  • [ ] This is a bugfix
  • [ ] This is a new plugin
    • I have updated CHANGELOG.asciidoc
    • My code follows the style guidelines of this project
    • I have made corresponding changes to the documentation
    • I have added tests that prove my fix is effective or that my feature works
    • New and existing unit tests pass locally with my changes
    • I have updated supported-technologies.asciidoc
    • Added an API method or config option? Document in which version this will be introduced
    • Added an instrumentation plugin? Describe how you made sure that old, non-supported versions are not instrumented by accident.
  • This is something else

Why

  1. Delegate the Agents configuration to the consumers
  2. Faster provisioning.

For instance, the agent is provisioned almost immediately, compared to the 2 minutes average per CI worker

image

Actions

  • Cached workspace to speed up builds?
  • Matrix support for difference openjdk versions

@v1v v1v marked this pull request as draft December 5, 2021 15:12
@ghost
Copy link

ghost commented Dec 5, 2021

💔 Tests Failed

the below badges are clickable and redirect to their specific view in the CI or DOCS
Pipeline View Test View Changes Artifacts preview preview

Expand to view the summary

Build stats

  • Start Time: 2021-12-08T08:39:21.273+0000

  • Duration: 14 min 51 sec

  • Commit: 99f2581

Test stats 🧪

Test Results
Failed 7
Passed 17
Skipped 0
Total 24

Test errors 7

Expand to view the tests failures

Tests / Smoke Tests 01 / test[mysql jdbc:tc:mysql:5://hostname/databasename] – co.elastic.apm.agent.jdbc.JdbcDbIT
    Expand to view the error details

     Could not find a valid Docker environment. Please see logs and check configuration 
    

    Expand to view the stacktrace

     java.lang.IllegalStateException: Could not find a valid Docker environment. Please see logs and check configuration
    	at co.elastic.apm.agent.jdbc.JdbcDbIT.<init>(JdbcDbIT.java:35)
     
    

Tests / Smoke Tests 01 / test[postgresql jdbc:tc:postgresql:9://hostname/databasename] – co.elastic.apm.agent.jdbc.JdbcDbIT
    Expand to view the error details

     Previous attempts to find a Docker environment failed. Will not retry. Please see logs and check configuration 
    

    Expand to view the stacktrace

     java.lang.IllegalStateException: Previous attempts to find a Docker environment failed. Will not retry. Please see logs and check configuration
    	at co.elastic.apm.agent.jdbc.JdbcDbIT.<init>(JdbcDbIT.java:35)
     
    

Tests / Smoke Tests 01 / test[postgresql jdbc:tc:postgresql:10://hostname/databasename] – co.elastic.apm.agent.jdbc.JdbcDbIT
    Expand to view the error details

     Previous attempts to find a Docker environment failed. Will not retry. Please see logs and check configuration 
    

    Expand to view the stacktrace

     java.lang.IllegalStateException: Previous attempts to find a Docker environment failed. Will not retry. Please see logs and check configuration
    	at co.elastic.apm.agent.jdbc.JdbcDbIT.<init>(JdbcDbIT.java:35)
     
    

Tests / Smoke Tests 01 / test[mariadb jdbc:tc:mariadb:10://hostname/databasename] – co.elastic.apm.agent.jdbc.JdbcDbIT
    Expand to view the error details

     Previous attempts to find a Docker environment failed. Will not retry. Please see logs and check configuration 
    

    Expand to view the stacktrace

     java.lang.IllegalStateException: Previous attempts to find a Docker environment failed. Will not retry. Please see logs and check configuration
    	at co.elastic.apm.agent.jdbc.JdbcDbIT.<init>(JdbcDbIT.java:35)
     
    

Tests / Smoke Tests 01 / test[mssql jdbc:tc:sqlserver:2017-CU12://hostname/databasename] – co.elastic.apm.agent.jdbc.JdbcDbIT
    Expand to view the error details

     Previous attempts to find a Docker environment failed. Will not retry. Please see logs and check configuration 
    

    Expand to view the stacktrace

     java.lang.IllegalStateException: Previous attempts to find a Docker environment failed. Will not retry. Please see logs and check configuration
    	at co.elastic.apm.agent.jdbc.JdbcDbIT.<init>(JdbcDbIT.java:35)
     
    

Tests / Smoke Tests 01 / test[db2 jdbc:tc:db2:11.5.0.0a://hostname/databasename] – co.elastic.apm.agent.jdbc.JdbcDbIT
    Expand to view the error details

     Previous attempts to find a Docker environment failed. Will not retry. Please see logs and check configuration 
    

    Expand to view the stacktrace

     java.lang.IllegalStateException: Previous attempts to find a Docker environment failed. Will not retry. Please see logs and check configuration
    	at co.elastic.apm.agent.jdbc.JdbcDbIT.<init>(JdbcDbIT.java:35)
     
    

Tests / Smoke Tests 01 / test[oracle jdbc:tc:oracle://hostname/databasename] – co.elastic.apm.agent.jdbc.JdbcDbIT
    Expand to view the error details

     Previous attempts to find a Docker environment failed. Will not retry. Please see logs and check configuration 
    

    Expand to view the stacktrace

     java.lang.IllegalStateException: Previous attempts to find a Docker environment failed. Will not retry. Please see logs and check configuration
    	at co.elastic.apm.agent.jdbc.JdbcDbIT.<init>(JdbcDbIT.java:35)
     
    

Steps errors 1

Expand to view the steps failures

Shell Script
  • Took 1 min 51 sec . View more details here
  • Description: ./scripts/jenkins/smoketests-01.sh

🐛 Flaky test report

❕ There are test failures but not known flaky tests.

🤖 GitHub comments

To re-run your PR in the CI, just comment with:

  • /test : Re-trigger the build.

  • run benchmark tests : Run the benchmark test.

  • run compatibility tests : Run the JDK Compatibility test.

  • run integration tests : Run the APM-ITs.

  • run elasticsearch-ci/docs : Re-trigger the docs validation. (use unformatted text in the comment!)

@v1v v1v force-pushed the feature/test-k8s-in-the-ci branch from 1515460 to e17e1d3 Compare December 5, 2021 16:20
- sleep
args:
- infinity
## TODO: Faster builds with some cached artifacts.
Copy link
Member Author

Choose a reason for hiding this comment

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

Interesting enough:

image

vs

image

@v1v
Copy link
Member Author

v1v commented Dec 7, 2021

@Mergifyio refresh

@mergify
Copy link
Contributor

mergify bot commented Dec 7, 2021

refresh

✅ Pull request refreshed

*/
stage('Smoke Tests 01') {
agent { label 'linux && immutable' }
agent { kubernetes { yamlFile '.ci/k8s/OpenJdkPod.yml' } }
Copy link
Member Author

Choose a reason for hiding this comment

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

IIRC, this was the way to ensure the parallel stages don't clash with the workspace when using the top-level k8s definition.

I need to clarify this to be sure this is the right pattern to be used.

@v1v
Copy link
Member Author

v1v commented Dec 7, 2021

@Mergifyio update

@mergify
Copy link
Contributor

mergify bot commented Dec 7, 2021

update

✅ Branch has been successfully updated

@v1v v1v mentioned this pull request Feb 12, 2022
@eyalkoren
Copy link
Contributor

@v1v do we want to proceed with this, or can I close this PR?

@v1v
Copy link
Member Author

v1v commented Feb 5, 2023

Closing this issue as we are moving away from Jenkins

@v1v v1v closed this Feb 5, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants