-
Notifications
You must be signed in to change notification settings - Fork 8.3k
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
[Alerting] Performance testing tool for alerting need to have the ability to create/clean ecctl
Kibana deployment.
#121457
Comments
Pinging @elastic/kibana-operations (Team:Operations) |
Pinging @elastic/kibana-alerting-services (Team:Alerting Services) |
Thanks for opening the issue @YulNaumenko! The requirements for this may change as we evaluate whether we can leverage the QA environment in ML for automated performance testing. I will update this issue as we learn more but for right now, no immediate action is needed. |
Thanks for opening the issue. A few questions: Is there a timeline you're looking for to have this up and running? |
So many QA environments to (potentially) choose from! :-) :elastic-heart: Some thoughts on this, since I haven't given it a whole lot of thought before. If we want to use In order to double-check that we don't leave orphan deployments (if the node app dies), I think we'd want a job that just checks for old deployments and complains however it complains that we can see it, so we can delete them manually for now. That job runs maybe once an hour. We would certainly be wanting to test against a snapshot of some kind - I've only tested BC versions in the Belgium gcp region in recent history - and never had good luck testing snapshots ever. But maybe that was just bad timing. And we'll also be testing against older versions as well. If we can work with snapshots, what's the frequency of those? |
Since we're talking about where to move |
Thanks for the additional information. Currently, @jbudz is working on rolling out manual Cloud-First Testing to PR's, which I believe we could leverage pieces of for this. With that, using the label This is what I am thinking for the daily pipeline based on my understanding of your needs:
|
@tylersmalley That sounds great and lines up with what we were hoping to have as well! We would want to run different scenarios with different configurations of rules and possibly different kibana configurations. Do you think it would make more sense to have a separate daily pipeline for each scenario (that deploys a separate cluster for each scenario) or try to serialize the scenarios into one pipeline? |
@ymao1 do you have an idea for how long the tests would run for each configuration? If it's not much, I would say try to serialize them as there is overhead to brining up the cluster (~10 minutes). But if it's maybe more than 5-10 minutes I think creating a separate pipeline would make sense. It's really no difficult to do in Buildkite. The discussion is mostly around resources, and the overall job time. |
With Cloud-First Testing being live now. Where do you stand with your need for this? Do you need assistance with creating a Buildkite pipeline? |
@EricDavisX - this is a slightly old issue we opened to look at automating some kbn-alert-load runs. I'm thinking the requirements outlined in the top comment are being / will be handled by the work you're currently doing? So we can probably close this? |
Hello - Yes, I think we can close this. I can update where we are tracking pending work to support Rules oriented performance tests and where the jobs are now:
we've enhanced the jenkins run to always delete the ecctl deploys, so note the kbn-alert-load tool still suffers that ailment other enhancements are on the way and are being tracked here #119845
|
Probably not a bad idea to bake this into kbn-alert-load at this point. I think we'd want a signal handler to catch ctrl-c, etc terminations, which would then delete the deployments on an "unclean" exit as well (or at least most "unclean" exits). I think the reason I had this in there was so I could debug the deployments if there were some issues, while I was developing this. We could think of adding this as an option ( |
it's a good idea- I put a ticket in to the kbn-alert-load project for it Patrick. thanks |
Describe the feature:
Based on the requirements for kbn-alert-load performance testing tool the next configuration/deployment abilities is needed:
ecctl
ecctl
- https://www.elastic.co/guide/en/ecctl/current/ecctl-installing.html when the testing job will be runecctl
withecctl
init, with the proper API keyDescribe a specific use case for the feature:
We are planning to make this tool as a part of
x-pack/tests/performance/alerting
. The initial idea was to use Buildkite to run that performance testing job every night.In addition we want to setup a slack channel to post failures of this job (ideally once issue #1 is done, the only failures would be regression test failures when the performance of a build fails to meet the specified metric). Ensure that all deployments are cleaned up at the end of the job, regardless of whether the job succeeds or fails.
cc: @ymao1 and @pmuellr
The text was updated successfully, but these errors were encountered: