Merge "Http Post specs"
This commit is contained in:
commit
6f47b1c910
158
specs/pike/httppost-notifications.rst
Normal file
158
specs/pike/httppost-notifications.rst
Normal file
@ -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 = <None>
|
||||
|
||||
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 <https://github.com/openstack/aodh/blob/master/aodh/notifier/rest.py#L60-L109>`_
|
Loading…
Reference in New Issue
Block a user