As part of the parent task, we're preparing to upgrade the cumin hosts to bookworm. See the parent task for the upgrade plan.
The current elasticsearch dependency in spicerack is:
"elasticsearch>=5.0.0,<7.15.0",
Debian bullseye (current cumin hosts) have version 7.1.0.
Debian bookworm has version 7.17.6.
We need to determine if the two versions are compatible with our current code and cookbooks or if we need to make patches to make the code compatible with both versions.
It would be great if someone from Data-Engineering could have a look at the 7.x changelog and previous changelogs and determine the best course of action.
Quickly running CI with version 7.17.12 reports only mypy failures, no unit test failures:
spicerack/elasticsearch_cluster.py: note: In member "_freeze_writes" of class "ElasticsearchCluster": spicerack/elasticsearch_cluster.py:540: error: Unexpected keyword argument "body" for "index" of "Elasticsearch" [call-arg] .tox/py311-mypy/lib/python3.11/site-packages/elasticsearch/client/__init__.pyi:183: note: "index" of "Elasticsearch" defined here spicerack/elasticsearch_cluster.py: note: In member "_get_unassigned_shards" of class "ElasticsearchCluster": spicerack/elasticsearch_cluster.py:597: error: List comprehension has incompatible type List[str]; expected List[dict[Any, Any]] [misc] spicerack/elasticsearch_cluster.py:597: error: Invalid index type "str" for "str"; expected type "SupportsIndex | slice[Any, Any, Any]" [index]