https://bugs.launchpad.net/horizon/+bug/1442310 indicates Nova API not allowing to pass list of instance ids in order to receive only data necessary for Horizon and reduce any overhead
As long as Nova is not patched to allow this, from Horizon side _get_attached_instance_ids and _get_instances can be parallelized. Also volume_ids_with_snapshots can be run in parallel with the other ones.
Apart from this, as Nova API calls Glance to map each instance with corresponding image which is definitely not needed for assignment between volume and instance, we can forge image.name to be empty for each instance in Volumes view. This further reduces time required for the whole view to render.
This has significant impact in the following case
* environment with a lot of instances
* environment with instances boot from image which is not available anymore (as in this case Nova calls Glance for each(!) instance separately)
Fix proposed to branch: master /review. openstack. org/426493
Review: https:/