Added a spec for supporting deduced alarms
Change-Id: Id9f69ef2acb79e77ad60a5d2324711ff1e03fc20
This commit is contained in:
parent
eb2af28e91
commit
efebcc26e3
161
specs/mitaka/vitrage-support-deduced-alarms.rst
Normal file
161
specs/mitaka/vitrage-support-deduced-alarms.rst
Normal file
@ -0,0 +1,161 @@
|
|||||||
|
..
|
||||||
|
This work is licensed under a Creative Commons Attribution 3.0 Unported
|
||||||
|
License.
|
||||||
|
|
||||||
|
http://creativecommons.org/licenses/by/3.0/legalcode
|
||||||
|
|
||||||
|
==================================
|
||||||
|
Vitrage Support for Deduced Alarms
|
||||||
|
==================================
|
||||||
|
|
||||||
|
https://blueprints.launchpad.net/vitrage/+spec/support-deduced-alarms
|
||||||
|
|
||||||
|
Vitrage should support raising deduced alarms.
|
||||||
|
When an alarm is raised on a certain resource, we might conclude that it results in problems in other related
|
||||||
|
resources. In this case, we would like to raise deduced alarms on these other resources, even if we got no indication
|
||||||
|
of a problem from other sources of information.
|
||||||
|
|
||||||
|
Problem description
|
||||||
|
===================
|
||||||
|
|
||||||
|
There are cases where we know that a failure in one resource should result in problems in other resources. For example,
|
||||||
|
high CPU load on a host may cause suboptimal performance of all instances running on this host, thus performance
|
||||||
|
problems in the applications running on these instances. As far as Nova is concerned, all instances are up and
|
||||||
|
running, and there is no indication of a problem.
|
||||||
|
|
||||||
|
|
||||||
|
Proposed change
|
||||||
|
===============
|
||||||
|
|
||||||
|
The Vitrage Evaluator serves as workflow manager controlling the analysis and activation of templates and execution
|
||||||
|
of template actions. One of its responsibilities is to listen to changes in Vitrage Graph, and upon a change execute
|
||||||
|
the matching templates. This is a general mechanism that should work for all kinds of templates and perform several
|
||||||
|
kinds of actions.
|
||||||
|
|
||||||
|
The aim of this blueprint is to make sure deduced alarms functionality works properly end to end.
|
||||||
|
|
||||||
|
Whenever a new alarm is raised, Vitrage Graph is updated with a new vertex for this alarm, connected to the relevant
|
||||||
|
resource. Then, the vitrage evaluator engine looks for templates that could match this new alarm. If deduced alarms
|
||||||
|
templates are found, the engine will try to find a full match for the entire template in Vitrage Graph. If found,
|
||||||
|
the engine will ask the notifier to raise new alarms according to the template.
|
||||||
|
|
||||||
|
|
||||||
|
Example for a graph with deduced alarms:
|
||||||
|
|
||||||
|
::
|
||||||
|
|
||||||
|
Original alarm:
|
||||||
|
+-----------+ +------------+
|
||||||
|
|Host High | on | |
|
||||||
|
|CPU load | +-----------> | Host |
|
||||||
|
| | | |
|
||||||
|
+-----------+ +-----+------+
|
||||||
|
|
|
||||||
|
| contains
|
||||||
|
Deduced alarm |
|
||||||
|
to raise: |
|
||||||
|
+-----------+ +-----v------+
|
||||||
|
|Instance | on | |
|
||||||
|
|Suboptimal | +-----------> | Instance |
|
||||||
|
|Performance| | |
|
||||||
|
+-----------+ +------------+
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Alternatives
|
||||||
|
------------
|
||||||
|
|
||||||
|
None
|
||||||
|
|
||||||
|
Data model impact
|
||||||
|
-----------------
|
||||||
|
|
||||||
|
None
|
||||||
|
|
||||||
|
REST API impact
|
||||||
|
---------------
|
||||||
|
|
||||||
|
None
|
||||||
|
|
||||||
|
Security impact
|
||||||
|
---------------
|
||||||
|
|
||||||
|
None
|
||||||
|
|
||||||
|
Pipeline impact
|
||||||
|
---------------
|
||||||
|
|
||||||
|
None
|
||||||
|
|
||||||
|
Other end user impact
|
||||||
|
---------------------
|
||||||
|
|
||||||
|
None
|
||||||
|
|
||||||
|
Performance/Scalability Impacts
|
||||||
|
-------------------------------
|
||||||
|
|
||||||
|
None
|
||||||
|
|
||||||
|
Other deployer impact
|
||||||
|
---------------------
|
||||||
|
|
||||||
|
None
|
||||||
|
|
||||||
|
Developer impact
|
||||||
|
----------------
|
||||||
|
|
||||||
|
None
|
||||||
|
|
||||||
|
Horizon impact
|
||||||
|
--------------
|
||||||
|
|
||||||
|
None
|
||||||
|
|
||||||
|
|
||||||
|
Implementation
|
||||||
|
==============
|
||||||
|
|
||||||
|
Assignee(s)
|
||||||
|
-----------
|
||||||
|
|
||||||
|
Primary assignee:
|
||||||
|
ifat_afek <ifat.afek@alcatel-lucent.com>
|
||||||
|
|
||||||
|
Work Items
|
||||||
|
----------
|
||||||
|
|
||||||
|
The blueprint includes:
|
||||||
|
|
||||||
|
- Define the exact syntax for deduced alarms templates
|
||||||
|
- Call the notifier to raise alarms
|
||||||
|
|
||||||
|
|
||||||
|
Future lifecycle
|
||||||
|
================
|
||||||
|
|
||||||
|
None
|
||||||
|
|
||||||
|
Dependencies
|
||||||
|
============
|
||||||
|
|
||||||
|
- Vitrage Graph
|
||||||
|
- Vitrage Engine
|
||||||
|
- Vitrage Notifier
|
||||||
|
|
||||||
|
Testing
|
||||||
|
=======
|
||||||
|
|
||||||
|
This change needs to be tested by unit tests.
|
||||||
|
|
||||||
|
Documentation Impact
|
||||||
|
====================
|
||||||
|
|
||||||
|
None
|
||||||
|
|
||||||
|
References
|
||||||
|
==========
|
||||||
|
|
||||||
|
https://wiki.openstack.org/wiki/Vitrage
|
||||||
|
|
Loading…
Reference in New Issue
Block a user