How can I identify _all_ indexes that do not meet the minimum compatible index version

Versions :

Opensearch 3.2.0

Describe the issue:

I’m trying to identify all of the indexes that I need to update to upgrade from 2.19.1 to 3.2.0. I’ve tried hitting _settings/ and _cat/indices and _list/, but they don’t return a number of old, empty, indexes like .opendistro-alerting-alerts and .opendistro-ism-config. (These clusters have been upgraded a number of times.) The settings gives me a few of the “.special” indexes and their versions, but not all of them.

I’m hoping there’s an easier way to identify these indexes, instead of just trying to start a 3.2.0 node and thwapping each index that logs an error.

Configuration:

Relevant Logs or Screenshots:

$ curl -s https://osmanager-stg2-0000:9200/_settings | grep alerting
$
$ curl -s https://osmanager-stg2-0000.t:9200/.opendistro-alerting-config| jq . | grep created
          "created": "7100299",
Caused by: java.lang.IllegalStateException: index [.opendistro-alerting-config/13O2cEQXQcOfBt95WYaebQ] version not supported: 7.10.2 minimum compatible index version is: 2.0.0

@reshippie Great question, have you tried using admin certificate, as some of the built in system indices are only returned using admin certificate, see following example command:

curl  --cert ./config/kirk.pem --key ./config/kirk-key.pem --cacert ./config/root-ca.pem -XGET  "https://localhost:9200/*/_settings?expand_wildcards=all&include_defaults=false&pretty" -k

Thank you so much! I didn’t realize that cluster_permissions: unlimited would be, well, limited.