# Vitrage Use Cases

## Add Nova Instance

1. Nova datasource Driver queries all Nova instances, or gets a message bus notification about a new Nova instance

2. Nova datasource Driver sends corresponding events to the Entity Queue

3. The Entity Processor polls the Entity Queue and gets the new Nova Instance event

4. The Entity Processor passes the event to the Nova Instance Transformer, which returns a Vertex with the instance data, with an edge to the host Vertex in the graph

5. The Entity Processor adds the new vertex and edge to the Graph

## Add Aodh Alarm

1. Aodh Driver queries all Aodh alarms

2. Aodh Driver sends corresponding events to the Entity Queue

3. The Entity Processor polls the Entity Queue and gets the Aodh Alarm event, for example threshold alarm on Instance-1 CPU

4. The Entity Processor passes the event to the Aodh Alarm Transformer, which returns a Vertex with the alarm data, with an edge to the instance Vertex

5. The Entity Processor adds the new vertex and edge to the Graph

## Nagios Alarm Causes Deduced Alarm

5. (steps 1-4) Nagios datasource driver pushes a nagios alarm on a switch to the Entity Queue, which is converted by Nagios Transformer to a vertex and inserted to the Graph

6. The Evaluator is notified about a new Vertex (Nagios switch alarm) that was added to the graph

7. The Evaluator performs its calculations and deduces that alarms should be triggered on every instance on every host attached to this switch

8. The Evaluator pushes alarms to the Entity Queue

9. The graph is updated with these new alarms

10. The graph writes to the message bus that new alarms were created

11. Aodh Notifier creates new alarm definitions in Aodh, and sets their states to “alarm”

## Create RCA Insights

1. The Evaluator is notified of a new alarm Alarm-X.

2. The Evaluator evaluates the templates and the Graph, and decides that there is a root cause relation between Alarm-X and Alarm-Y. It adds a “causes” edge to the Graph

Note that in future versions the graph with RCA information may become more complex, for example:

this page last updated: 2026-01-23 22:59:33

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

found an error? report a bug