-
Notifications
You must be signed in to change notification settings - Fork 524
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
Run automated smoke tests on ESS #8303
Comments
Hi @simitt
Regarding the ESS provisioning piece, there are a few options available:
Regarding the provisioning of RUM agents, could you please talk a bit more about what you envision here? Does it specifically need to be RUM data that's ingested or will any APM data be sufficient? cc: @kuisathaverat for any additional thoughts. |
Ideally the test cases will handle sending some RUM agent recorded events, to ensure events are also ingested as expected when going through the apm-server internal RUM processors. Sending the concrete events (backend or rum) is part of implementing the test logic though, which the APM Server team will build. I don't expect that this impacts any of the work of the eng.productivity team. @cachedout and @kuisathaverat , on the APM Server team @marclop is working on this, please reach out to and coordinate with him on the automation part. |
@amannocci , I just assigned this task to you, @marclop, will contact you once the CI automation can be started. Then you can both sync up in the specifics. Let me know if you need any help. Thanks |
Update: I removed the work on RUM agents from the scope for |
The first linked pr adds an initial set of smoke tests and assertions for versions 7.17 and latest (currently 8.3). Uses the artifacts API which is used to obtain the latest versions. The 7.17 smoke flow is slightly different than latest:
The detailed flow looks like:
We still need to add another flow:
And add more assertions to all flows:
Also we need to add some documentation on the smoke tests:
@simitt The issue states that we're looking to verify that they're created with the expected version, is that the only thing we're looking to assert? |
For smoke tests, that is good enough for now. Over time we could expand the checks to a minimum of fields that are required by the UI, but such checks can get stale and complex rather quickly, so let's not start with that. If there is time for another set of upgrade related tests, a test from latest |
@cachedout we are all good to go. |
@amannocci It's your time to shine. :) Please create the pipeline in Jenkins as described above and corresponding to the description in #8458. Please co-ordinate with @v1v if you need any assistance. |
@marclop @amannocci please go ahead with the pipelines. Very excited about this! We can always add more test cases and iterate on them. |
Update: the PR which should resolve the automation side of this is #8499. We're just working through the review right now. |
Status
|
The last remaining task which I am working on at the moment is validating that the APM Integration package installs the assets that we expect for the APM Server:
|
@amannocci would it also be possible to add a slack integration so that the |
@simitt This is a very simple change. I will re-open this and see if we can sneak it in. (If re-opening this specific issue disturbs your project tracking, let me know and we'll put it elsewhere.) @amannocci This should do the magic: https://github.com/elastic/apm-pipeline-library/tree/main/vars#notifybuildresult |
Status
|
This was previously reopened to allow for a small change. Now that the change is merged, I am re-closing this. |
Problem
We want to own automated tests of the APM Server setup (with and without Elastic Agent) on Elastic ESS.
Solution
The APM Server systemtests should contain an ESS testing package that runs the tests specified under Validation Criteria. Tests are mostly testing the overall setup, that all involved components on ESS work together as expected.
There is no requirement to run the tests on a PR basis, but rather on a daily basis for now.
The tests have to create a deployment on ESS on which a specified test set can then be run.
For the deployment creation we will receive support from the eng productivity team (cc @cachedout) and try to leverage some of the work that has been done for benchmarking.
Validation Criteria
The tests suit runs tests for:
7.17
)8.0
)7.17
)We want to test upgrades for:
7.17.x-1
upgrading to7.17.x
8.x
: the last released version to the new minor version under developmentWe want to run following test cases:
and RUMagents where events are successfully stored to the expected data streams.No-gos
In this first iteration we focus on ESS; ECE is out of scope.
We do not focus on triggering the tests on a PR basis for now.
The text was updated successfully, but these errors were encountered: