Public bug reported:

Confirmed on:
stable/kilo
stable/juno

Issue:
When user accesses `horizon/project/access_and_security/` page, this triggers a 
call to api/network->tenant_floating_ip_list, and this happens for each tab 
with preload = True (default) which has any related quotas in table_actions 
field of the related table.

Details:
For example for keypairs tab it is
table_actions = (CreateKeyPair, ImportKeyPair, DeleteKeyPairs,
                         KeypairsFilterAction,)
Here `CreateKeyPair` will trigger call to quotas.tenant_quota_usages(request) 
check which will in turn call tenant_floating_ip_list.

On default stable/kilo and stable/juno the call to floating_ip_list happens 2 
times on this page.
If we set preload = False in 
https://github.com/openstack/horizon/blob/master/horizon/tabs/base.py#L257 then 
floating_ip_list is called once, but will also happen for Keypairs tab, and 2 
times for FloaitngIPs tab (once for quotas and another time to actually get the 
IPs).

Current quota retrieval mechanism is suboptimal and should be cached to
not duplicate calls for tabs or allow doing calls to get specific quota
(for example, only keypair quota or only floatingip quota).

Current code assumes fast/cheap API response which may sometimes not be
true - for huge clouds for example.

** Affects: horizon
     Importance: Undecided
         Status: New


** Tags: large-scale

-- 
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/1512411

Title:
  Horizon quota collection is suboptimal

Status in OpenStack Dashboard (Horizon):
  New

Bug description:
  Confirmed on:
  stable/kilo
  stable/juno

  Issue:
  When user accesses `horizon/project/access_and_security/` page, this triggers 
a call to api/network->tenant_floating_ip_list, and this happens for each tab 
with preload = True (default) which has any related quotas in table_actions 
field of the related table.

  Details:
  For example for keypairs tab it is
  table_actions = (CreateKeyPair, ImportKeyPair, DeleteKeyPairs,
                           KeypairsFilterAction,)
  Here `CreateKeyPair` will trigger call to quotas.tenant_quota_usages(request) 
check which will in turn call tenant_floating_ip_list.

  On default stable/kilo and stable/juno the call to floating_ip_list happens 2 
times on this page.
  If we set preload = False in 
https://github.com/openstack/horizon/blob/master/horizon/tabs/base.py#L257 then 
floating_ip_list is called once, but will also happen for Keypairs tab, and 2 
times for FloaitngIPs tab (once for quotas and another time to actually get the 
IPs).

  Current quota retrieval mechanism is suboptimal and should be cached
  to not duplicate calls for tabs or allow doing calls to get specific
  quota (for example, only keypair quota or only floatingip quota).

  Current code assumes fast/cheap API response which may sometimes not
  be true - for huge clouds for example.

To manage notifications about this bug go to:
https://bugs.launchpad.net/horizon/+bug/1512411/+subscriptions

-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to     : yahoo-eng-team@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp

Reply via email to