Vitrage Support for Deduced Alarms

Vitrage Support for 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|               |            |
+-----------+               +------------+



Data model impact


REST API impact


Security impact


Pipeline impact


Other end user impact


Performance/Scalability Impacts


Other deployer impact


Developer impact


Horizon impact




Primary assignee:

ifat_afek <>

Work Items

The blueprint includes:

  • Define the exact syntax for deduced alarms templates

  • Call the notifier to raise alarms

Future lifecycle



  • Vitrage Graph

  • Vitrage Engine

  • Vitrage Notifier


This change needs to be tested by unit tests.

Documentation Impact


Creative Commons Attribution 3.0 License

Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.