To avoid memory bloat issues in the nova-api workers, the nova project is planning to add pagination logic to the simple-tenant-usage API extension in Ocata: https://blueprints.launchpad.net/nova/+spec/paginate-simple-tenant-usage In order to avoid continuing to DOS the nova-api tier, Horizon will need to support this new pagination scheme by traversing between pages via the next link, then subsequently stitching back up the response such that the server_usages list for each tenant is made whole (such lists may cross page boundaries under the proposed solution).
Notes for using the API: https://github.com/dianaclarke/openstack-notes/wiki/simple%20tenant%20usage Places that will probably need changing: https://github.com/openstack/horizon/blob/92972d4d1483dc3876416a9269ac529d43537980/openstack_dashboard/api/nova.py#L164 https://github.com/openstack/horizon/blob/92972d4d1483dc3876416a9269ac529d43537980/openstack_dashboard/usage/base.py#L252 https://github.com/openstack/horizon/blob/92972d4d1483dc3876416a9269ac529d43537980/openstack_dashboard/usage/base.py#L259 Upstream blueprint: https://blueprints.launchpad.net/horizon/+spec/simple-tenant-usage-pagination
A draft patch https://review.openstack.org/#/c/410337/ We still need to resolve a problem with specifying the API version https://review.openstack.org/#/c/410688/ and make Horizon load the correct microversion of the Nova API. We also need to write tests for all this.
This feature is not visible to the users and as such can't be easily tested. The improvements in performance are not visible in small scale deployments.
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHEA-2017:1245