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
[2] http://docs.openstack.org/admin-guide-cloud/content/section_telemetry-compute-meters.html

--

Thanks,

Matt Riedemann


__________________________________________________________________________
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

Reply via email to