Nova manages all compute resources in OpenStack. Today, the Cyclops team is announcing support for compute events such as VM Creation, Deletion, and Modification for billing purposes in Cyclops. All this by directly tapping into the OpenStack message bus for processing critical events in real-time.
OpenStack Services communicate between each-other through a messaging queue and a listener. The figure below shows this arrangement in a typical setup.
The R&D team working on Cyclops at ZHAW are now able to directly listen into these messages in order to filter out the events of use. After creating a dedicated queue and subscribing it to all the desired OpenStack service queues, Cyclops is able to snoop in on all the messages, filtering them and further passing them along to it’s own events queue through a driver module. The schematic below shows an example arrangement that enables real time processing of key OpenStack events by Cyclops.
Now Cyclops can measure the VM’s Uptime, operational status, as well as even measure the quantity of VM’s used by a tenant. Not to say that such insights could not be made through ceilometer alone, having an alternative is always a good idea given that Ceilometer is known to have issues at scale.
As shown in the schematic above, a messaging queue is created and bound to OpenStack’s Nova queue so all the pertinent messages are sent to it. From all the information contained in such messages, compatible event records for Cyclops are created providing an alternative way to measure services consumed. Now with this approach, a provider can bill end users based on VM’s flavor and its uptime data.
The graph above shows the state for the OpenStack Nova message queue over time.
In the following video you will see how the necessary messaging queues are created in RabbitMQ and connected to the appropriate exchange, and how through the Cyclops Dashboard a provider admin user can generate a bill based on the VM uptime.
During the next weeks the team will be focusing on adding new and exciting features in Cyclops, so stay tuned for more announcements!