kibana/packages/kbn-es-archiver
Gerard Soldevila f8303ec7cf
[esArchiver] Do not perform SO migration on cleanup (#163302)
## Summary

Attempt at fixing https://github.com/elastic/kibana/issues/127545

The failing tests use `esArchiver` to cleanup Saved Object indices
between tests.
Strangely, the cleanup method calls the migration logic to update the SO
indices.

In this particular source of flakiness, a test fails during the
migration (problem is tracked by
https://github.com/elastic/kibana/issues/163289).

Performing a migration as part of the cleanup does not make too much
sense (at least in this test suite), so the goal of this PR is to
simplify the cleanup operation, getting rid of the call to
`migrateSavedObjectIndices`.

50 runs flaky test runner
https://buildkite.com/elastic/kibana-flaky-test-suite-runner/builds/2850
2023-09-01 12:41:20 +02:00
..
src [esArchiver] Do not perform SO migration on cleanup (#163302) 2023-09-01 12:41:20 +02:00
index.ts chore(NA): remove src folder requirement from packages (part 2) (#138476) 2022-08-30 15:57:35 +01:00
jest.config.js Elastic License 2.0 (#90099) 2021-02-03 18:12:39 -08:00
kibana.jsonc [codeowners] add appex-qa for ftr-related packages (#155230) 2023-05-24 08:53:09 +02:00
package.json Transpile packages on demand, validate all TS projects (#146212) 2022-12-22 19:00:29 -06:00
README.mdx [docs/ops] write docs about flaky tests (#139866) 2022-09-01 16:23:49 +01:00
tsconfig.json Split the .kibana saved objects index into multiple indices (#154888) 2023-04-25 09:43:42 +02:00

---
id: kibDevDocsOpsEsArchiver
slug: /kibana-dev-docs/ops/es-archiver
title: "ES Archiver"
description: A tool which helps developers capture and restore ES indexes
tags: ['kibana', 'dev', 'contributor', 'operations', 'ci']
---

The ES Archiver is a service primarily used by the Functional Tests to load up ES indexes using the bulk API which makes the archives more resilient to ES upgrades and easier to inspect/edit locally because they are just plain text files containing newline-delimited JSON (though they are sometimes compressed).

## CLI

This tool also has a CLI which can be used to save indexes to new archives or load additional archives into a specific ES instance.

To teach the ES Archiver how to talk to ES and Kibana it is ideal to start ES and Kibana using `node scripts/functional_test_servers --config some/config/file.ts` and then use the same `--config` flag when running `node scripts/es_archiver` so that it can access the location and authorization information about the ES instace from the FTR config file.

Additional information about what functionality the CLI provides can be found by running `node scripts/es_archiver --help`