ES Reindex fails with new resource group name
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Searchlight |
New
|
Medium
|
Unassigned |
Bug Description
There's an issue with the searchlight-manage index command and modifying the resource group name. Consider these steps:
- The resource group name has been changed in the configuration file.
- The user runs "searchlight-manage index sync --type=XXX".
This will cause some of the resource types to be re-indexed from Elasticsearch instead of using the plugin APIs. Since the resource group name has changed, we will not know what the previous aliases was. Without this information, we will not be able to do the re-indexing from ES. Instead we will end up with a new index without any data in it for those resource types.
The problem seems to be in manage.py where we are assembling the resource_groups list. We are creating the alias names based on the new resource group name. This list is passed into the _es_reindex_worker thread. The alias_search name is used to find the destination index for the ES reindex. Since this alias_name is based on the new name, it does not exist, resulting in the defect.
This may just be a documentation issue ('don't change resource groups and do partial reindexing') for now. Maybe a longer term solution would be an alias containing all the indices in use but i don't think it's essential for this release.