Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

Can new Ceilometer plugins be loaded without reinstalling ?

Hello,

The task I am working on is to measure VMs spawning time on an OpenStack system. For this, I would like Ceilometer to capture compute.instance.update events, and be able to read the timestamp associated to a state change for a specific VM.

I have read OpenStack documentation on writing Ceilometer agent plugins, and came up with the following (please take note that I am using Havana):

1) To make Nova generate compute.instance.update events, I modified nova.conf file as follows on each Compute node:

notification_driver = nova.openstack.common.notifier.rpc_notifier
notification_driver = ceilometer.compute.nova_notifier

notify_on_state_change = vm_and_task_state

2) On Controller node, I inserted plugin code in file ceilometer/compute/notifications.py.

Plugin inherits from class NotificationBase, and contains event_types and process_notification(self, message), as mentioned in OpenStack documentation.

I restarted services and launched VMs, but I don't see that the plugin was loaded (with ceilometer-collector with -v option). Do I absolutely have to specify the plugin in setup.cfg and reinstall Ceilometer ? Or is there a way do do this without reinstalling ? I would prefer not reinstalling if this is feasible.

I am aware that I am missing a few pieces of the puzzle, ramping up on Python and OpenStack at the same time. We are trying to promote the use of OpenStack to potential customers of our product, and benchmarking is very important to us.

Thank you !

Fran├žois P.