Reviewed: https://review.openstack.org/286268 Committed: https://git.openstack.org/cgit/openstack/horizon/commit/?id=6c2eaff49924cef767f0dd6fddff700bccc37838 Submitter: Jenkins Branch: master
commit 6c2eaff49924cef767f0dd6fddff700bccc37838 Author: Travis Tripp <[email protected]> Date: Mon Feb 29 13:35:59 2016 -0700 Angular Policy Caching With angular routing, every time a view / page is shown, any policy checks are performed again. Policy decisions are fairly static and should not change as long as the inputs are the same. This patch makes it so that the results are cached until a django page reload is triggered (such as when region, user, project, panel are changed). Change-Id: Ib8c133f680a7bf0357c26263fb26bb76eb13d65a Closes-Bug: 1551815 Co-Authored-By: Matt Borland <[email protected]> ** 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/1551815 Title: Angular policy checks causing too many API calls - slows down pages Status in OpenStack Dashboard (Horizon): Fix Released Bug description: On Angular panels that use client side routing and also have policy checks (just about any angular panel with actions), you'll see that the exact same policy API check is repeated when you switch from the table listing to the details and back. Example: http://127.0.0.1:8005/project/ngimages/ [01/Mar/2016 15:40:53] "POST /api/policy/ HTTP/1.1" 200 17 [01/Mar/2016 15:40:53] "POST /api/policy/ HTTP/1.1" 200 17 [01/Mar/2016 15:40:53] "POST /api/policy/ HTTP/1.1" 200 17 [01/Mar/2016 15:40:53] "GET /api/keystone/user-session/ HTTP/1.1" 200 383 [01/Mar/2016 15:40:53] "GET /api/keystone/svc-catalog/ HTTP/1.1" 200 7404 [01/Mar/2016 15:40:53] "POST /api/policy/ HTTP/1.1" 200 17 Go to the details page: [01/Mar/2016 15:41:07] "GET /api/glance/images/2c23ae8e- f7bb-4239-9a94-e011a9b636fc/ HTTP/1.1" 200 429 Click back to the Table: [01/Mar/2016 15:41:15] "POST /api/policy/ HTTP/1.1" 200 17 [01/Mar/2016 15:41:15] "POST /api/policy/ HTTP/1.1" 200 17 [01/Mar/2016 15:41:15] "POST /api/policy/ HTTP/1.1" 200 17 [01/Mar/2016 15:41:15] "POST /api/policy/ HTTP/1.1" 200 17 The policy being checked will not change between these clicks. These checks are using the policy service: https://github.com/openstack/horizon/blob/master/openstack_dashboard/static/app/core /openstack-service-api/policy.service.js#L105 This service doesn't have caching like the other services (User session, service catalog, cinder extensions), causing many extra API hits as the page is navigated. To manage notifications about this bug go to: https://bugs.launchpad.net/horizon/+bug/1551815/+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

