Reviewed: https://review.openstack.org/509676 Committed: https://git.openstack.org/cgit/openstack/horizon/commit/?id=fa2e8327b9d0a10f29a4fbe3094a4533914b8ce3 Submitter: Jenkins Branch: master
commit fa2e8327b9d0a10f29a4fbe3094a4533914b8ce3 Author: Feilong Wang <[email protected]> Date: Thu Oct 5 14:37:34 2017 +1300 Add cache for get_microversion() against Nova Actions "Lock" and "Unlock" of instance on instances table are calling api.nova.is_feature_available() to check if the feature is supported by current Nova server. Unfortunately, the function get_microversion() called by is_feature_available() is not cached, which is causing about 40 unnecesary REST API calls. If the Nova's version is under Mitaka, it could be even worse, about 80 unnecesary API calls, see openstack_dashboard/api/nova.py#L60 and novaclient/v2/versions.py#L47 for more details. Closes-Bug: #1721423 Change-Id: Ie96b1a35e379d4cf407bfd53b1ee734178f9cb07 ** Changed in: horizon Status: In Progress => Fix Released -- You received this bug notification because you are a member of Yahoo! Engineering Team, which is subscribed to OpenStack Dashboard (Horizon). https://bugs.launchpad.net/bugs/1721423 Title: [Performance] Bad performance on instances list panel Status in OpenStack Dashboard (Horizon): Fix Released Bug description: I just found there is no cache for microversion check which may cause almost 40 unnecessary API calls. There are two actions for instances table need to check the microversion in allowed() function, see https://github.com/openstack/horizon/blob/master/openstack_dashboard/dashboards/project/instances/tables.py#L870 but unfortunately, there is no cache for this check, see https://github.com/openstack/horizon/blob/master/openstack_dashboard/api/nova.py#L60 And function get_microversion(request, feature) is also used by other functions. Based on my test, after adding cache for this function, about 3+ seconds are saved. To manage notifications about this bug go to: https://bugs.launchpad.net/horizon/+bug/1721423/+subscriptions -- Mailing list: https://launchpad.net/~yahoo-eng-team Post to : [email protected] Unsubscribe : https://launchpad.net/~yahoo-eng-team More help : https://help.launchpad.net/ListHelp

