[openstack-dev] [nova][ceilometer] proposal to send bulk hypervisor stats data in periodic notifications

Matt Riedemann mriedem at linux.vnet.ibm.com
Wed Jun 17 15:52:58 UTC 2015

Without getting into the details from the etherpad [1], a few of us in 
IRC today were talking about how the ceilometer compute-agent polls 
libvirt directly for guest VM statistics and how ceilometer should 
really be getting this information from nova via notifications sent from 
a periodic task in the nova compute manager.

Nova already has the get_instance_diagnostics virt driver API which is 
nice in that it has structured versioned instance diagnostic information 
regardless of virt driver (unlike the v2 os-server-diagnostics API which 
is a free-form bag of goodies depending on which virt driver is used, 
which makes it mostly untestable and not portable).  The problem is the 
get_instance_diagnostics virt driver API is per-instance, so it's not 
efficient in the case that you want bulk instance data for a given 
compute host.

So the idea is to add a new virt driver API to get the bulk data and 
emit that via a structured versioned payload similar to 
get_instance_diagnostics but for all instances.

Eventually the goal is for nova to send what ceilometer is collecting 
today [2] and then ceilometer can just consume that notification rather 
than doing the direct hypervisor polling it has today.

Anyway, this is the high level idea, the details/notes are in the 
etherpad along with next steps.

Feel free to chime in now with reasons why this is crazy and will never 
work and we shouldn't waste our time on it.

[1] https://etherpad.openstack.org/p/nova-hypervisor-bulk-stats-notify



Matt Riedemann

More information about the OpenStack-dev mailing list