elasticsearch/client/rest-high-level
Gordon Brown 35dc030ed8
Implement framework for migrating system indices (#78951)
This PR adds a framework for migrating system indices as necessary prior
to Elasticsearch upgrades. This framework uses REST APIs added in
another commit:
- GET _migration/system_features

This API, which gets the status of "features" (plugins which own system
indices) with regards to whether they need to be upgraded or not. As of
this PR, this API also reports errors encountered while migrating system
indices alongside the index that was being processed when this occurred.

As an example of this error reporting:

```json
{
    "feature_name": "logstash_management",
    "minimum_index_version": "8.0.0",
    "upgrade_status": "ERROR",
    "indices": [
        {
            "index": ".logstash",
            "version": "8.0.0",
            "failure_cause": {
                "error": {
                    "root_cause": [
                        {
                            "type": "runtime_exception",
                            "reason": "whoopsie",
                            "stack_trace": "<omitted for brevity>"
                        }
                    ],
                    "type": "runtime_exception",
                    "reason": "whoopsie",
                    "stack_trace": "<omitted for brevity>"
                }
            }
        }
    ]
}
```

- POST _migration/system_features

This API starts the migration process. The API for this has no changes,
but when called, any system indices which need to be migrated will be
migrated, with status information stored in the cluster state for later
use by the GET _migration/system_features API.
2021-10-19 20:16:39 -06:00
..
qa/ssl-enabled [7.x] Fix system property resolution at configuration time (#78682) 2021-10-05 07:33:13 -04:00
src Implement framework for migrating system indices (#78951) 2021-10-19 20:16:39 -06:00
build.gradle Simplify build plugin license handling (#77009) (#78820) 2021-10-07 14:39:18 +02:00
roles.yml Fix security origin for TokenService#findActiveTokensFor... (#47418) (#48280) 2019-10-21 13:15:05 +03:00
testnode.crt HLRC: Get SSL Certificates API (#34135) 2018-10-15 17:20:34 +01:00
testnode.jks HLRC: Get SSL Certificates API (#34135) 2018-10-15 17:20:34 +01:00