Feature Upgrade APIs

edit

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.

Request

edit

GET /migration/system_features

Prerequisites

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

Examples

edit

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.