Refactor compute node stats as a resource tracker extension

Registered by Paul Murray on 2013-12-09

Compute nodes record a number of statistics about instances they host, such as number of instances and number of each os type, and pass this information back to the scheduler. This information is stored in a table called compute_node_stats as attribute/value/compute-node triplets. The intention was that the compute_node_stats table would be extensible as any attribute/value pairs could be stored, but it introduced a join between compute_nodes and compute_node_stats that is expensive to process.

BP extensible-resource-tracking introduces a new text field to store json encoded information maintained by the resource tracker. There is an opportunity to refactor the compute node stats code to take advantage of extensible resource tracking. This would eliminate the compute_node_stats table and "normalise" how information is tracked at the compute node.

Blueprint information

Status:
Complete
Approver:
Joe Gordon
Priority:
Medium
Drafter:
Paul Murray
Direction:
Approved
Assignee:
Brian Elliott
Definition:
Approved
Series goal:
Accepted for icehouse
Implementation:
Implemented
Milestone target:
milestone icon 2014.1
Started by
Brian Elliott on 2014-01-22
Completed by
John Garbutt on 2014-02-24

Related branches

Sprints

Whiteboard

Gerrit topic: https://review.openstack.org/#q,topic:bp/compute-node-stats-as-resource-tracker-extension,n,z

Addressed by: https://review.openstack.org/66469
    Refactor stats to avoid bad join

deferred from icehouse-3 to "next": http://lists.openstack.org/pipermail/openstack-dev/2014-February/026335.html

John Garbutt and Chris Behrens sponsor this to get it landed in icehouse-3. This provides a significant performance improvement and it's basically ready to merge.

Approving since has two cores sponsoring this -- jogo (Feb 11, 2014)

Based on IRC conversation, it sounds like we're waiting on more patches here, but it has sponsors so it's OK to leave in icehouse-3. --russellb

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.