in eland/cli/eland_import_hub_model.py [0:0]
def check_cluster_version(es_client, logger):
es_info = es_client.info()
if is_serverless_es(es_client):
logger.info(f"Connected to serverless cluster '{es_info['cluster_name']}'")
# Serverless is compatible
# Return the latest known semantic version, i.e. this version
return parse_es_version(__version__)
# check the semantic version for none serverless clusters
logger.info(
f"Connected to cluster named '{es_info['cluster_name']}' (version: {es_info['version']['number']})"
)
sem_ver = parse_es_version(es_info["version"]["number"])
major_version = sem_ver[0]
# NLP models added in 8
if major_version < 8:
logger.error(
f"Elasticsearch version {major_version} does not support NLP models. Please upgrade Elasticsearch to the latest version"
)
exit(1)
elif major_version < 9:
logger.error(
"Eland 9.x does not support Elasticsearch 8.x. Please upgrade Elasticsearch first."
)
exit(1)
return sem_ver