[openstack-announce] [release][searchlight] searchlight 0.2.0 release (mitaka)

no-reply at openstack.org no-reply at openstack.org
Thu Apr 7 07:55:57 UTC 2016


We are eager to announce the release of:

searchlight 0.2.0: OpenStack Search Service

This release is part of the mitaka release series.

For more details, please see below.

0.2.0
^^^^^

Adds cinder plugins for volumes and snapshots.

Added separation of administrator-only data at an index level, which
allows full faceting and searching of sensitive data by those with
access to it.

In order to allow policy files to more be useful in Searchlight, we
now support limited control over individual resource types via oslo
policy control.

Remove the 'index' API. It is currently a passthrough to
elasticsearch, allowing direct index access and bypassing any document
transforms. As such it is dangerous, and only marginally useful.
Administrators wishing to do this should do so directly in
Elasticsearch.

Swift plugin for searchlight

Ability added to reindex data while allowing indexing of
notifications, and therefore returning accurate search results during
the indexing operation.

A fix for a couple of parent-child plugin relationship issues related
to initial indexing. Child plugins can no longer be indexed separately
from their parents.

Config options for searchlight-api and searchlight-listener are
grouped under config groups [api] and [listener].

The default config file for searchlight was searchlight-api.conf
despite the fact that this config file was used by both the API and
the listener processes. Therefore, we decided to rename the default
config file to searchlight.conf. This change also prompted us to to
follow the convention used by many other projects and simplify
searchlight-api-paste.ini to api-paste.ini.


New Features
************

* Cinder plugins for volumes and snapshots.

* Plugins with sensitive, administrator-only data are indexed twice;
  once with that data and once without. Searches are directed to the
  appropriate version depending on the context of the user.

* Adds neutron plugins for networks, subnets, ports and routers.

* Policy rules can now be specified per resource type and per
  operation per resource type.

* Removes the /index api and related tests. If an admin needs to
  directly modify data in Elasticsearch they should do so in
  Elasticsearch.

* Three resource types are introduced for swift plugin.
  OS::Swift:Account ->OS::Swift::Container -->OS::Swift::Object

* Reindexing of data now takes place in a separate Elasticsearch
  index. During indexing, incoming events are processed into both the
  old and new indices. Once indexing is complete, an Elasticsearch
  alias is used to switch searches seamlessly onto the new index, at
  which time the old one is removed.

* Plugin configuration refers to *resource_group_name* rather than
  *index_name* to represent groups of resources separate from the
  logical Elasticsearch index. This setting is used to determine index
  and alias names.


Known Issues
************

* Backups cannot currently be implemented because the cinder API
  does not provide enough information for RBAC. They will be added
  when that is resolved.

* Neutron resources do not provide dates (created_at or updated_at).
  created_at is left empty; updated_at is taken from the server (and
  will be adjusted to use the notification timestamp at a later time)

* RBAC is still separate from policy restriction; this is targeted
  for the Newton release.

* The Swift service currently doesn't send notifications. Follow the
  swift plugin documentation for current solutions.

* Reindexing must now take place across all resource types that
  share the index (it is not possible to re-index a specific resource
  type). This is a limitation that Elasticsearch 2.x would likely have
  forced upon us anyway. A subsequent patch will allow more efficient
  reindexing for associated resource types.


Upgrade Notes
*************

* Options 'bind_host', 'bind_port', 'backlog', 'tcp_keepidle',
  'ca_file', 'cert_file', 'key_file', 'workers', 'max_header_line',
  'public_endpoint', and 'http_keepalive' are moved to [api] group.
  Options 'listener_workers' is renamed to 'workers' and moved to
  [listener] group. Options 'host' and 'http_timeout' are removed
  since they are not currently used anywhere.

* During an upgrade to Mitaka, operators must rename the previous
  configured searchlight-api.conf to searchlight.conf and searchlight-
  api-paste.ini to api-paste.ini.


Security Issues
***************

* Removes the admin-only '/index' api, which allowed an unnecessary
  amount of access to Elasticsearch.


Bug Fixes
*********

* Child plugins cannot be indexed on their own, only as a result of
  indexing their parent. This fixes an issue whereby indexing only a
  parent plugin could leave orphaned children (or vice versa).

* Applies mappings for parent/child plugins simultaneously. Under
  elasticsearch 2.x, child mappings must be created at the same time
  or before parents, not the other way round.

* The workers for listener was always 1, so config listener_workers
  was not work as expected. Now operators can set 'workers' under
  group [listener] to running multiple listener processes.

Changes in searchlight 0.2.0.0rc1..0.2.0
----------------------------------------

2a44b63 Backward compatibility with designate v1 api
4abf961 Disable oslo_config file discovery in tests
bcc8243 Increase heap for elasticsearch in func tests
1e80553 Fix _is_multiple_alias_exception signature
574a095 Add missing zero-downtime indexing documentation
bb5ff07 Re-indexing optimization for doc_type
25ca131 Add missing mitaka release notes
531447d Zero Downtime Re-indexing Error Handling.
b1d339b Don't index DHCP ports
a5ccab8 Update .gitreview for stable/mitaka

Diffstat (except docs and test files)
-------------------------------------

.gitreview                                         |   1 +
.../bp-index-role-separation-535e01ba3bb2252e.yaml |  11 +
...-zero-downtime-reindexing-a607d52b8711d845.yaml |  24 +
searchlight/cmd/manage.py                          | 116 ++--
searchlight/elasticsearch/plugins/base.py          |   5 +
.../plugins/designate/notification_handlers.py     | 119 +++-
.../elasticsearch/plugins/designate/recordsets.py  |   1 -
.../elasticsearch/plugins/designate/zones.py       |   2 +-
.../plugins/neutron/notification_handlers.py       |  12 +
searchlight/elasticsearch/plugins/neutron/ports.py |   6 +
searchlight/elasticsearch/plugins/utils.py         | 210 +++++--
22 files changed, 2186 insertions(+), 118 deletions(-)






More information about the OpenStack-announce mailing list