Implement notifications for Climate
We need to implement notification possibility for Climate users about some lease events (like close ending of lease). That should be probably also event-based mechanism (like lease-events) with different plugins for different notifications types (that's all discussible, let's think about it).
Blueprint information
- Status:
- Complete
- Approver:
- Blazar core developers
- Priority:
- Medium
- Drafter:
- Dina Belova
- Direction:
- Approved
- Assignee:
- Cristian A Sanchez
- Definition:
- Approved
- Series goal:
- Accepted for 0.x.0
- Implementation:
-
Implemented
- Milestone target:
-
next
- Started by
- Dina Belova
- Completed by
- Cristian A Sanchez
Related branches
Related bugs
Sprints
Whiteboard
We would like to leverage climate to manage parts of the VM lifecycle.
When a lease is created send user notification (email)
When a lease is X days/hours from expiring send a notification
When the lease is updated ...
We would like to leverage Climate and integrate projects like Mistral (workflows), Marconi (notifications, queue) to fill out some of our life cycle management needs.
===
Hi Joel, we plan to integrate Climate with Ceilometer for the metrics, and some other POC is currently done for notifications. Feel free to join us on #openstack-climate when you're available for discussing your needs.
==
This should leverage oslo.messaging/rpc notification subsystem and let the rest be handled by external project or worker. Ceilometer will need that, and its alarming subsystem will solve the problem such as getting an email sent.
JoelC: I agree. This BP should focus on delivering integration with oslo.messaging.
==
Cristian:
There are two ways of sending messages with oslo.
1) oslo.messaging.rpc with this use case: "Invoke Method on all of Multiple Servers"
https:/
2) oslo.notify
https:/
I think in the case of this bp, the oslo.notify use case is better.
==
scroiset: for sure, we'll use notify to send notifications since rpc are for remote calls
==
I'm ok with 'notify', but I've got one question: as i understand we need here two services to get event from queue - ceilometer (to send user notification) and service that will grab event from queue and start some workflow. I'm not sure how that may look like using 'notify', but for the first sight it looks like that 'invoke method on multiple servers' will work here - if it's not somehow connected with service type. Or it should be two different notifications like notify:email and notify:
==
casanch1: is it possible to send a notification with oslo.notify that are ultimately received by more than one server? I guess it should be possible is both services are subscribed to the same topic.
==
Details of the blueprint here: https:/
Gerrit topic: https:/
Addressed by: https:/
Sends notifications at lease events
=====
https:/
Gerrit topic: https:/
Work Items
Dependency tree

* Blueprints in grey have been implemented.