Feature Upgrade APIsedit

Use this API to check for system features that need to be upgraded before a major version upgrade. You should run it on the last minor version of the major version you are upgrading from.

The feature upgrade APIs are to be used to retrieve information about system features that have to be upgraded before a cluster can be migrated to the next major version number, and to trigger an automated system upgrade that might potentially involve downtime for Elasticsearch system features.

Requestedit

GET /migration/system_features

Prerequisitesedit

  • If the Elasticsearch security features are enabled, you must have the manage cluster privilege to use this API.

Examplesedit

To see the list of system features needing upgrades, submit a GET request to the _migration/system_features endpoint:

GET /_migration/system_features

Example response:

{
  "features" : [
    {
      "feature_name" : "async_search",
      "minimum_index_version" : "7.0.0",
      "migration_status" : "NO_MIGRATION_NEEDED",
      "indices" : [ ]
    },
    {
      "feature_name" : "enrich",
      "minimum_index_version" : "7.0.0",
      "migration_status" : "NO_MIGRATION_NEEDED",
      "indices" : [ ]
    },
    {
      "feature_name" : "fleet",
      "minimum_index_version" : "7.0.0",
      "migration_status" : "NO_MIGRATION_NEEDED",
      "indices" : [ ]
    },
    {
      "feature_name" : "geoip",
      "minimum_index_version" : "7.0.0",
      "migration_status" : "NO_MIGRATION_NEEDED",
      "indices" : [ ]
    },
    {
      "feature_name" : "kibana",
      "minimum_index_version" : "7.0.0",
      "migration_status" : "NO_MIGRATION_NEEDED",
      "indices" : [ ]
    },
    {
      "feature_name" : "logstash_management",
      "minimum_index_version" : "7.0.0",
      "migration_status" : "NO_MIGRATION_NEEDED",
      "indices" : [ ]
    },
    {
      "feature_name" : "machine_learning",
      "minimum_index_version" : "7.0.0",
      "migration_status" : "NO_MIGRATION_NEEDED",
      "indices" : [ ]
    },
    {
      "feature_name" : "searchable_snapshots",
      "minimum_index_version" : "7.0.0",
      "migration_status" : "NO_MIGRATION_NEEDED",
      "indices" : [ ]
    },
    {
      "feature_name" : "security",
      "minimum_index_version" : "7.0.0",
      "migration_status" : "NO_MIGRATION_NEEDED",
      "indices" : [ ]
    },
    {
      "feature_name" : "tasks",
      "minimum_index_version" : "7.0.0",
      "migration_status" : "NO_MIGRATION_NEEDED",
      "indices" : [ ]
    },
    {
      "feature_name" : "transform",
      "minimum_index_version" : "7.0.0",
      "migration_status" : "NO_MIGRATION_NEEDED",
      "indices" : [ ]
    },
    {
      "feature_name" : "watcher",
      "minimum_index_version" : "7.0.0",
      "migration_status" : "NO_MIGRATION_NEEDED",
      "indices" : [ ]
    }
  ],
  "migration_status" : "NO_MIGRATION_NEEDED"
}

This response tells us that Elasticsearch security needs its internal indices upgraded before we can upgrade the cluster to 8.0.

To perform the required upgrade, submit a POST request to the same endpoint.

POST /_migration/system_features

Example response:

{
  "accepted" : true,
  "features" : [
    {
      "feature_name" : "security"
    }
  ]
}

This tells us that the security index is being upgraded. To check the overall status of the upgrade, call the endpoint with GET.