LP: #1759091 - Limit the amount of queries used during a list operation.
Handlers can now specify a list_queryset which is used when the client calls
list(). The machine, device, and controller handlers have been updated to
only output data needed for the listing page for that node type. All node
types now have their query count tested for list and get.
Only cache processed ScriptResults for the current nodes being dehydrated.
Previously MAAS would cache the current ScriptResults for all nodes
to minimize database lookups. This caused all ScriptResults to be
loaded into RAM regardless of how many nodes are actually being
loaded. Now only the latest ScriptResults from the current set of
nodes being dehydrates are loaded. As nodes are dehydrated their
ScriptResults are cleared from cache to reduce memory usage on the
region.
LP: #1722607 - 1/2 Stop sending logs with node object over the websocket.
Removes the summary YAML, XML, and installation log from being sent with the
node object over the websocket. This removes 4 database lookups and with a
libvirt machine 79KB of data from being sent with the node object.
Two new functions have been added to the node handler and child classes,
get_summary_yaml and get_summary_xml. Both read summary data from the cache
and return the formatted data.