Notification Engine Plugin System

Registered by Roland Hochmuth

Add a plugin system to the notification engine to enable new notification plugins to be developed and added. For example, PagerDuty and SMS using Twilio.

Blueprint information

Status:
Complete
Approver:
Roland Hochmuth
Priority:
High
Drafter:
Roland Hochmuth
Direction:
Approved
Assignee:
Haneef Ali
Definition:
Approved
Series goal:
Accepted for trunk
Implementation:
Implemented
Milestone target:
None
Started by
Roland Hochmuth
Completed by
Roland Hochmuth

Related branches

Sprints

Whiteboard

Monasca supports 3 notification types. They are "EMAIL", "WEBHOOK" and "PAGERDUTY". They are hardcoded as enum in the code. This makes it difficult to add any new notification types. The purpose of this blueprint is to remove those hardcoded enums from the code and drive the supported notification types via config entries.

Monasca-api
     - Remove hard coded enum from monasca-api
     - Add a new API to retrieve the supported notification types. GET //v2.0/notification-methods/types

Monasca-client
     - Add the client support for the new API

Monasca-notificaiton
     - Add new notification types for HipChat, Slack, Jira ( Jira will be a new blueprint as it has some worflow issues to discuss)
     - Support for formatting the notification payload. e.g operators can format the payload using Jinj2 template to suit their needs
     - Add support for dynamically loading notification types
             notification_types:
                   hipchat : monasca_notification.common.notification.types.hipchat
                   slack : community.monasca.slack

Gerrit topic: https://review.openstack.org/#q,topic:bp/notification-engine-plugin,n,z

Addressed by: https://review.openstack.org/340607
    Add support for notification-method/types

Addressed by: https://review.openstack.org/337848
    Add new REST api for notification method types

Addressed by: https://review.openstack.org/334688
    Add HipChat and Slack Notification types

Gerrit topic: https://review.openstack.org/#q,topic:bp/we,n,z

Addressed by: https://review.openstack.org/344487
    Add entity for notification_method_type table

Addressed by: https://review.openstack.org/333009
    Remove hardcoded monasca notification types

Addressed by: https://review.openstack.org/346223
    Add support for new rest api notification-type-list

Addressed by: https://review.openstack.org/350803
    Fix race condition in notification type inserts

Addressed by: https://review.openstack.org/349097
    Add custom formatting options for HipChat

Addressed by: https://review.openstack.org/350774
    Avoid compilation error in monasca-common AlarmNotificationMethodType change

Addressed by: https://review.openstack.org/348001
    Add Jira Plugin

Addressed by: https://review.openstack.org/355104
    Add https proxy support for a hipchat/slack plugin

Addressed by: https://review.openstack.org/398261
    Add support for new rest api notification-type-list

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.