Improve horizon's cache methodology by caching data more agresively and applying new caching methods

Registered by Daniel Castellanos

Summary
=======
Improve horizon's cache methodology by caching data more agresively and applying new caching methods

Motivation
========
- The memoize decorator in Horizon is intended to cache data for the life of the request. Unfortunately, the decorator is misused and the result is horizon caches for less than the life of the request.
- Memoize does not cover all caching needs a broader solution is needed
- Improve performace

Description
=========
Stop memoizing on request argument for objects we know won't change in different views by adding a new decorator that allows to memoize a function for multiple views.
Address this gradually by changing the memoize calls where makes sense to change them
TODO: Investigate on broader caching solutions.
django based caching
convert views to angular based views to allow client side caching

UX
===

Testing
======
Test against new caching mecanisms/frameworks

Requirements Update Required
========================
Patch: https://review.openstack.org/#/c/150392 is an starting point on fixing the memoize decorator misuse
Investigate broader caching solutions

Doc Impact
=========
Document new memoize decorator
Document added features and functionality

Blueprint information

Status:
Complete
Approver:
Rob Cresswell
Priority:
Medium
Drafter:
Daniel Castellanos
Direction:
Approved
Assignee:
Daniel Castellanos
Definition:
Approved
Series goal:
Accepted for 10.0.0-newton
Implementation:
Implemented
Milestone target:
milestone icon ongoing
Started by
Daniel Castellanos
Completed by
David Lyle

Related branches

Sprints

Whiteboard

RE: TODO: Investigate on broader caching solutions. --> Searchlight will be ready for deployment in Newton: https://wiki.openstack.org/wiki/Searchlight

Gerrit topic: https://review.openstack.org/#q,topic:neutronMemoizeFix2,n,z

Addressed by: https://review.openstack.org/316258
    Stop memoizing on request argument in neutron api

Gerrit topic: https://review.openstack.org/#q,topic:bp/improve-horizon-caching,n,z

Addressed by: https://review.openstack.org/314750
    stop memoizing on request argument in cinder api

Addressed by: https://review.openstack.org/150392
    Stop memoizing on request arguments in nova api

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.