We are stoked to announce the release of: searchlight 0.2.1: OpenStack Search Service This release is part of the mitaka stable release series. For more details, please see below. 0.2.1 ^^^^^ The initial mitaka release (0.2) did not support ElasticSearch 2.x. ElasticSearch made several changes to internal index data mappings that were not backwards compatible with ElasticSearch 1.x. This release has all the changes required for Searchlight to support both ElasticSearch 1.x and 2.x. Searchlight now supports oslo pools instead of requiring a different topic for each listener. This simplifies deployment configuration. Previously, services would have to be specifically configured to send notifications to the Searchlight topic. With this change, Searchlight can share topics with other services such as Ceilometer. Upgrade Notes ************* * To support ElasticSearch 1.x and 2.x, several internal data mappings have been updated. If you previously deployed Searchlight, you will need to reindex your resource data using "searchlight- manage index sync". You may re-index everything or limit it to "OS::Nova::Server", "OS::Glance::Image", "OS::Glance::Metadef", "OS::Cinder:Volume", and "OS::Cinder::Snapshot". * To start using a pool with a shared topic instead of separate topics: * Update the respective service configuration files for searchlight enabled plugins to only publish to a single topic (e.g. set "notification_topics = notifications"). If you have Ceilometer enabled, this must be the same topic which Ceilometer uses. You also typically must restart each service for the change to take effect. For example, in "nova.conf", "glance-api.conf", "cinder.conf", "neutron.conf", and "designate.conf": notification_topics = notifications * Update "searchlight.conf". In the "[resource_plugin]" section, set "notifications_topic" to match the shared topic that you set in the service configurations. In the "[listener]" sections, set "notifications_pool" to your desired pool name. The default name starting in Newton is "searchlight". The "notifications_pool" does not have to match anything from other services configuration files. For example: [resource_plugin] notifications_topic = notifications [listener] notifications_pool = searchlight Bug Fixes ********* * Bug 1570213 Apply query to highlight query * Bug 1532010 Ensure consistency in mapping field types * Bug 1570674 Fix unicode error when booting instance from volume * Bug 1570199 Fix inconsistent mapping in image plugin * Bug 1568709 Remove port.create.end handler from nova * Bug 1565015 Add volume.retype event * Bug 1583215 Correct Cinder exchange value * Bug 1583215 Enable notification messaging pools Changes in searchlight 0.2.0..0.2.1 ----------------------------------- 0625a03 Merge "Add Release notes for fixes backported to 0.2.1" 2cfb624 Enable notification messaging pools c2618fa Correct cinder 'exchange' value 7402a54 Apply query to highlight query c898012 Ensure consistency in mapping field types c76dde4 Updated from global requirements 878e7d4 Updated from global requirements d77a3ba Fix unicode error when booting instance from volume 20ac92d Updated from global requirements 991f488 Fix inconsistent mapping in image plugin a011e15 Remove port.create.end handler from nova 5bfed59 Add volume.retype event 0b54315 Listen to instance volume attach/detach events Diffstat (except docs and test files) ------------------------------------- .../notes/add-0_2_1-notes-e1f8910ad27d88bb.yaml | 62 +++++++++++ requirements.txt | 6 +- searchlight/api/v1/search.py | 16 +++ .../cinder/snapshots_notification_handler.py | 4 +- .../elasticsearch/plugins/cinder/volumes.py | 3 +- .../plugins/cinder/volumes_notification_handler.py | 5 +- .../elasticsearch/plugins/glance/__init__.py | 5 +- searchlight/elasticsearch/plugins/glance/images.py | 4 +- .../elasticsearch/plugins/glance/metadefs.py | 15 +-- searchlight/elasticsearch/plugins/nova/__init__.py | 9 +- searchlight/elasticsearch/plugins/nova/servers.py | 22 ++-- .../plugins/nova/servers_notification_handler.py | 20 ++-- searchlight/listener.py | 6 +- test-requirements.txt | 4 +- test-scripts/listener.py | 77 ++++++++++++++ 24 files changed, 514 insertions(+), 62 deletions(-) Requirements updates -------------------- diff --git a/requirements.txt b/requirements.txt index f8bcd25..252c505 100644 --- a/requirements.txt +++ b/requirements.txt @@ -14,2 +14,2 @@ PasteDeploy>=1.5.0 # MIT -Routes!=2.0,!=2.1,>=1.12.3;python_version=='2.7' # MIT -Routes!=2.0,>=1.12.3;python_version!='2.7' # MIT +Routes!=2.0,!=2.1,!=2.3.0,>=1.12.3;python_version=='2.7' # MIT +Routes!=2.0,!=2.3.0,>=1.12.3;python_version!='2.7' # MIT @@ -30 +30 @@ Paste # MIT -python-keystoneclient!=1.8.0,!=2.1.0,>=1.6.0 # Apache-2.0 +python-keystoneclient!=1.8.0,!=2.1.0,<3.0.0,>=1.6.0 # Apache-2.0 diff --git a/test-requirements.txt b/test-requirements.txt index 3cc4eee..0e9e95f 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -9 +9 @@ hacking<0.11,>=0.10.0 -Babel>=1.3 # BSD +Babel!=2.3.0,!=2.3.1,!=2.3.2,!=2.3.3,>=1.3 # BSD @@ -14 +14 @@ discover # BSD -fixtures>=1.3.1 # Apache-2.0/BSD +fixtures<2.0,>=1.3.1 # Apache-2.0/BSD