override fun onResponse()

in src/main/kotlin/org/opensearch/indexmanagement/indexstatemanagement/SkipExecution.kt [51:81]


                override fun onResponse(response: NodesInfoResponse) {
                    val versionSet = mutableSetOf<String>()
                    val legacyVersionSet = mutableSetOf<String>()

                    response.nodes.map { it.getInfo(PluginsAndModules::class.java).pluginInfos }
                        .forEach {
                            it.forEach { nodePlugin ->
                                if (nodePlugin.name == "opensearch-index-management" ||
                                    nodePlugin.name == "opensearch_index_management"
                                ) {
                                    versionSet.add(nodePlugin.version)
                                }

                                if (nodePlugin.name == "opendistro-index-management" ||
                                    nodePlugin.name == "opendistro_index_management"
                                ) {
                                    legacyVersionSet.add(nodePlugin.version)
                                }
                            }
                        }

                    if ((versionSet.size + legacyVersionSet.size) > 1) {
                        flag = true
                        logger.info("There are multiple versions of Index Management plugins in the cluster: [$versionSet, $legacyVersionSet]")
                    } else flag = false

                    if (versionSet.isNotEmpty() && legacyVersionSet.isNotEmpty()) {
                        hasLegacyPlugin = true
                        logger.info("Found legacy plugin versions [$legacyVersionSet] and opensearch plugins versions [$versionSet] in the cluster")
                    } else hasLegacyPlugin = false
                }