[openstack-dev] [nova][ceilometer] proposal to send bulk hypervisor stats data in periodic notifications
mriedem at linux.vnet.ibm.com
Wed Jun 17 15:52:58 UTC 2015
Without getting into the details from the etherpad , 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
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  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.
More information about the OpenStack-dev