There is a nova spec proposed for optionally using Searchlight for listing instances across multiple cells in Nova. The point is to be able to efficiently list instances across all cells in the deployment using an external (global) service to Nova which has the data, rather than iterating the cells in code, listing instances from each one, and merge sorting the results, which will likely not perform well with several thousands of instances in a large deployment.
We have gotten to the point in the spec review that we have some difficult issues that could benefit from operator input and perspective. These are mainly:
1. Data migration: Searchlight has a tool to pull instance data from the compute REST API so it can load up it's indexes. We would require that deployments run this before configuring nova-api to use Searchlight as the backend datastore for getting instance information when listing instances. However, the sync tool requires nova-api to be up so there is a chance for stale data if changes are coming in while data is being synced to Searchlight. The incoming requests will push notifications to Searchlight, so this is maybe not a huge issue, but it's something worth discussing for impacts.
2. Listing deleted instances: Searchlight deletes index entries when instances are deleted in Nova. If Nova is using Searchlight to list instances, this would mean "nova list --deleted" would no longer work. Is this OK? Listing deleted instances in Nova is not guaranteed to work today anyway since once you archive or purge the instances table in your nova database, those instances are gone from the API listing results. It's assumed that most deployments at least keep deleted records around for a certain amount of time (a month?) before purging them for good. How important is this functionality?
[1] https://review.openstack.org/#/c/441692/
Related blueprints
nova/list-instances-using-searchlight