4.9 KiB
Designate Plugin Guide
Integration is provided via a plugin. There are multiple configuration settings required for proper indexing and incremental updates. Some of the settings are specified in Searchlight configuration files. Others are provided in other service configuration files.
Searchlight Configuration
Searchlight resource configuration options are shown below with their configuration file and default values.
See searchlight-plugins
for common options with their
default values, general configuration information, and an example
complete configuration.
Note
Unless you are changing to a non-default value, you do not need to specify any of the following configuration options.
searchlight.conf
Plugin: OS::Designate::Zone
[resource_plugin:os_designate_zone]
enabled = true
resource_group_name = searchlight
Plugin: OS::Designate::RecordSet
[resource_plugin:os_designate_recordset]
enabled = true
resource_group_name = searchlight
Warning
OS::Designate::Zone documents have a parent relationship to OS::Designate::RecordSet documents. Because of this you must have both os_designate_zone and os_designate_recordset plugin configurations enabled or disabled together.
Designate Configuration
The Designate services must be configured properly to work with searchlight.
designate.conf
Notifications must be configured properly for searchlight to process incremental updates. Enable notifications using the following:
[oslo_messaging_notifications]
driver = messagingv2
Note
Restart designate-central
,
designate-pool-manager
, and
designate-zone-manager
after making changes. See plugin_notifications
for more
information on notification topics.
local.conf (devstack)
Note
Designate resource types are not enabled by default
(enabled = false
) in the Searchlight devstack script
because Designate is not installed by default in devstack. If you have
Designate installed in devstack, you have two options for enabling
designate resource types in Searchlight:
- Prior to stacking: modify the searchlight post config section in
local.conf
by adding a[[post-config|$SEARCHLIGHT_CONF]]
section. - After stacking: manually edit the
searchlight.conf
file.
The Designate plugin must be enabled and run with devstack to include Designate with your devstack deployment. Follow the instructions here: https://opendev.org/openstack/designate/src/branch/master/devstack
The settings above may be automatically configured by
stack.sh
by adding them to the following post config
section in devstack. Just place the following in local.conf and copy the
above settings underneath it.:
[[post-config|$DESIGNATE_CONF]]
[DEFAULT]
Release Notes
0.2.0.0 (Mitaka)
Notifications must be configured properly for searchlight to process incremental updates. Searchlight must use its own topic. Use the following:
notification_driver = messaging
notification_topics = searchlight_indexer
The Designate notification limitations mentioned in Liberty still apply.
You no longer need to use the --no-delete option mentioned below. Zero downtime reindexing implemented in Mitaka handles all re-indexing transparently.
0.1.0.0 (Liberty)
For best results, use the v2 Designate API. Using the Designate v1
API to create domains results in the Designate service not sending all
possible status change notifications. This causes Designate record set
documents to stay in the Pending
status in the search
index.
The Horizon UI uses the v1 API and causes the above issue to be seen. So in order to ensure the search index contains the correct status values for record sets when using Horizon, you may set up a cron job to re-index Designate data.
You should use the --no-delete
option to prevent the
index from temporarily not containing any data (which otherwise would
happen with a full bulk indexing job):
searchlight-manage index sync --type OS::Designate::Zone,OS::Designate::RecordSet --force --no-delete