Nova versioned notifications The result of a 3-year journey balazs.gibizer@ericsson.com
Agenda ● My new use case ● The need to overhaul Nova’s notification interface ● The journey ● It is Done so it is DEMO time! ● Is there a next step?
My simple use case My monitoring tool needs to know when the administrator disables a nova-compute service due to planned maintenance
Let’s add a new notification to nova “We like your idea, but we want to queue this behind sorting out the notifications.” // May 2015 https://review.openstack.org/#/c/182350
Let’s plan a shiny new interface ● Documented ● Versioned ● Tested
{ "priority" :"INFO", "event_type" :"service.update", "publisher_id" :"nova-compute:host1" "payload" :{ "nova_object.namespace" :"nova", "nova_object.name" :"ServiceStatusPayload", "nova_object.version" :"1.1" "nova_object.data" :{ "availability_zone" :null, "binary" :"nova-compute", "disabled" :false, "disabled_reason" :null, "forced_down" :false, "host" :"host1", "last_seen_up" :"2012-10-29T13:42:05Z", "report_count" :1, "topic" :"compute", "uuid" :"fa69c544-906b-4a6a-a9c6-c1f7a8078c73", "Version" :23 }}}
We have a plan “This is possibly the most detailed spec I've ever read. I really like this proposal, let's get started.” // Nov 2015 https://review.openstack.org/#/c/224755
We just need to implement the plan
Work remaining Work in progress
Demo ● Goal ● Demo setup
[[post-config|/etc/nova/nova.conf]] [oslo_messaging_notifications] driver = messagingv2 transport_url = rabbit://stackrabbit:admin@100.109.0.10:5672/ [notifications] notification_format = both notify_on_state_change = vm_and_task_state bdms_in_notifications = true
Can we get rid of the old interface now? “I'm just having a hard time with the fact so much work has been put into this over the last few years that now everything is transformed but no one is using it, and I don't see many compelling reasons why a project would migrate, especially since the projects that are consuming nova's notifications are mostly working with a skeleton crew of maintainers.” // Dec 2018 http://lists.openstack.org/pipermail/openstack-discuss/2018-December/000685.html
Was this work a waste?
References ● These slides: http://bit.ly/versioned ● Notifications in Nova ○ https://docs.openstack.org/nova/latest/reference/notifications.html ● Code used in the demo ○ https://github.com/gibizer/nova-notification-demo
Recommend
More recommend