diff --git a/specs/pike/httppost-notifications.rst b/specs/pike/httppost-notifications.rst new file mode 100644 index 000000000..7aa35023d --- /dev/null +++ b/specs/pike/httppost-notifications.rst @@ -0,0 +1,158 @@ +.. + This work is licensed under a Creative Commons Attribution 3.0 Unported + License. + + http://creativecommons.org/licenses/by/3.0/legalcode + +====================== +httppost Notifications +====================== + +launchpad blueprint: +https://blueprints.launchpad.net/vitrage/+spec/httppost-notifications + +The Evaluator performs root cause analysis on the Vitrage Graph and may +determine that an alarm should be created, deleted or otherwise updated. +Other components are notified of such changes by the Vitrage Notifier service. +Among others, Vitrage Notifier is responsible for sending http post +notifications on Vitrage deduced alarms. + +This blueprint describes the implementation of Vitrage Notifier for +http post notifications on Vitrage deduced alarms. + + +Problem description +=================== + +Vitrage should support registering for http post notifications, and sending them +on raised alarms, deactivated alarms, state changes, RCA or other to any +registered targets. +Furthermore any registered recipient should supply a regex to filter the alarms +sent to that recipient. + + +Proposed change +=============== + +Needed definitions in Vitrage config file:: + + [DEFAULT] + notifiers = httppost + +SSL Client certificate file for REST notifier. (string value) : + rest_notifier_certificate_file = + +SSL Client private key file for REST notifier. (string value) + rest_notifier_certificate_key = + +SSL CA_BUNDLE certificate for REST notifier (string value) + rest_notifier_ca_bundle_certificate_path = + +Whether to verify the SSL Server certificate when calling alarm action (boolean value) + rest_notifier_ssl_verify = true + +Number of retries for REST notifier (integer value) + rest_notifier_max_retries = 0 + +Timeout seconds for HTTP requests. Set it to None to disable timeout (integer value) + http_timeout = 600 + +Vitrage listener will get the alarm events from the message bus and the http post +notifier will send http post notifications on raised deduced alarms and deleted deduced alarms. + +The filtered notifications will be sent to destinations specified in registered yaml file or +other (for now, only one option will be developed), which can be updated manually or via +API requests. + +The notifications will be sent only on alarms which meet the regex filter specified in the +yaml file / via registration. This section will be specified in a different spec. + +The format of sent notifications will be hard coded. + +The http post notifier is pluggable, you can implement your own http post sender and use +it (it must inherit from the base class), when there is a default implementation. + +Alternatives +------------ + +None + +Data model impact +----------------- + +None + +REST API impact +--------------- + +None + +Versioning impact +----------------- + +None + +Other end user impact +--------------------- + +None + +Deployer impact +--------------- + +To use http post notifier one needs to define it in the Vitrage config +file, and in addition create additional yaml files and define them in Vitrage config file. + +Developer impact +---------------- + +None + +Horizon impact +-------------- + +None + +Implementation +============== + +Assignee(s) +----------- + +Primary assignee: + danoffek + +Work Items +---------- + +- Create http post notifier + + - Create http post sender + +- Create unit test for http post sender + + - test http post notifier + - test http post sender + - test http post regex filtering + +Dependencies +============ + +None + +Testing +======= + +This blueprint requires unit tests. + +Documentation Impact +==================== + +The usage of the http post notifier will be documented + + +References +========== + +Example on http post notifications in AODH +`http post request `_