[openstack-dev] [searchlight] [ceilometer] [fuel] [freezer] [monasca] Elasticsearch 2.x gate support

McLellan, Steven steve.mclellan at hpe.com
Mon Apr 18 17:33:36 UTC 2016


I'm looking into supporting and testing Elasticsearch 2.x in Searchlight's test jobs. Currently I don't know of any other projects that run tests against Elasticsearch in the gate (since we had to add it to Jenkins [1]). Several projects install the python elasticsearch client in requirements.txt, and it is currently capped to <2.0 in global-requirements [2], and others consume it directly through HTTP requests. Searchlight needs to move to support Elasticsearch 2.x in Newton but we are aware that doing so will affect other projects.

Elasticsearch 2.x is backwards incompatible [3] with 1.x in some ways. The python client library is similarly backwards-incompatible; it is strongly recommended the client major version matches the server major version. In testing Searchlight we found only a couple of fairly minor changes were needed (and the 1.x client library seems to continue to work against a 2.x server) , but YMMV. Devstack's default ES version is 1.4.2 [4] (which should be changed to 1.7 in any case) and we obviously cannot change that until all projects support 2.x.

A wholesale change to move to Elasticsearch 2.x would require changing global-requirements, but this may obviously break projects not ready for the change. My questions for the projects affected are:

* Have you tested with ES 2.x at all?
* Do you have plans to move to ES 2.x?

Our likely fallback is testing with the 1.x client until we can move devstack and global-requirements to 2.x; if we discover issues in the meantime we will include a deployer note that the python library needs to be updated if Elasticsearch 2.x is in use.



[1] https://github.com/openstack-infra/project-config/commit/1ac8e52e2be6ff9a8d72e842929ea00e55f6b075
[2] https://github.com/openstack/requirements/blob/master/global-requirements.txt#L42
[3] https://www.elastic.co/guide/en/elasticsearch/reference/current/breaking-changes-2.0.html
[4] https://github.com/openstack-dev/devstack/blob/f0f371951f0df7b797556fd6c5f3ceb0fcc9d76c/pkg/elasticsearch.sh#L13

More information about the OpenStack-dev mailing list