-
Notifications
You must be signed in to change notification settings - Fork 8.2k
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
[kbn-es] Elasticsearch snapshot automation #52016
Comments
Pinging @elastic/kibana-operations (Team:Operations) |
|
@spalger @brianseeders feel free to add any additional details. |
Would we need to run the full suite of tests? Except for firefox, visual regression, and accessibility? e.g. intake tests (no linting, etc), api integration tests, and chrome functional tests? |
That should be sufficient. Running only what can be effected by ES should limit the number of flaky tests we run into. |
I personally think email notifications are sufficient, but otherwise I agree. I like the name "es snapshot validation" for this job... |
Thoughts on this as a game plan? @tylersmalley @spalger ES Snapshot planES Snapshot Build Job:
Process:
Kibana ES Snapshot Verification job:
Process:
Misc
|
Sounds good to me, though I'm concerned with the likelihood that by using known GCP names we have two issues:
I think I'd prefer a slightly more complicated solution that uses a JSON manifest in a known location that the jobs can update once they've uploaded assets/shasum to a unique location, something like:
|
I don't see a way to do atomic operations on a group of files in GCS so I think you're right, we'll have to do a manifest. It shouldn't add too much more complexity |
My concern with the proposed manifest approach is we then need to come up with a solution to cleanup the builds. We can't simply rely on TTL's like release manager uses as we want builds to exist for versions/branches which are no longer being built continuously. Could we limit to retaining only |
@tylersmalley is there a reasonable timeframe for how long a snapshot should exist after we stop building a branch? I was actually looking at keeping all of the snapshots, and just having them automatically delete from GCS after a certain period of time |
My goal is that I see a few options:
|
I could just upload the most recently verified snapshot for each version to a second bucket that acts as permanent storage for the most recently-verified snapshot. Then, when we check for a manifest, use it as a backup if the daily one 404s. Pretty simple and there wouldn't be any cleanup logic or pinning that should need to be done anywhere. |
👍 I like that |
How should we be notified for ES snapshot build failures? Start with e-mail for both and go from there? If e-mail, do you think |
Yeah, email to |
Relying on the release manager for our ES snapshots has had some issues we are looking to resolve.
To accomplish this, we should create a nightly job that will build Elasticsearch and run Kibana tests against it. If the tests are successful, we will promote the ES snapshot to Google Cloud bucket. If they are unsuccessful, we need to be notified either by an issue being created or a Slack notification to the operations channel.
The text was updated successfully, but these errors were encountered: