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