Change-Id: Ic354dc0f96996e0bb17c47541a7a21bc7bc9256f
3.9 KiB
Evaluator Engine
Launchpad blueprint:
https://blueprints.launchpad.net/vitrage/+spec/evaluator-engine
Vitrage Evaluator serves as workflow manager controlling the analysis and activation of templates and execution of template actions.
Evaluator engine is the main core of Vitrage evaluator which responsible for managing the templates, executing them over Vitrage Graph and running their action.
+---------------------+
| |
| <------------------+
| Vitrage Graph | |
| | +-------+-------------------+
| | | Vitrage Evaluator |
+--------------+------+ | |
| | +------+ |
| | | RCA | |
+-----------------> | | |
| +------+ |
| +------+ |
+---------------------+ | |Deduce| |
| <----------+ |Alarm | |
| Vitrage Notifier | | +------+ |
| | | |
| | +---------------------------+
| |
+---------------------+
Problem description
Vitrage requires a component that is responsible for managing and executing templates, which are the basis for the different algorithms used in Vitrage, such as RCA.
- Use cases:
-
- When a new instance is added/removed/updated in the Vitrage Graph, find the templates relevant to this change and compare the pattern specified in each template to the new graph structure. For each pattern match found, execute the actions specified in the template.
- When a new alarm is added/removed/updated in the Vitrage Graph, find the templates relevant to this change and compare the pattern specified in each template to the new graph structure. For each pattern match found, execute the actions specified in the template.
Proposed change
Managing Templates
Users can perform CRUD actions on templates, in order to make changes to the use cases Vitrage supports. Specifically, when adding a template it should be added and stored in graph format and saved in NetworkX (Graph-based in-memory DB). Similarly, this template can be modified or deleted as well. The functionality added here should have a corresponding set of API calls for users to perform these actions.
Executing Templates
When a change takes place in the Vitrage Graph, it informs the Evaluator Engine of the change. The engine will then search for templates relevant to this change and compare the pattern specified in each template to the new graph structure. For each pattern match found, execute the actions specified in the template.
Alternatives
None
Data model impact
The templates are saved in NetworkX graph-base in memory DB.
REST API impact
The functionality added here for managing templates should have a corresponding set of API calls for users to perform these actions.
Versioning impact
None
Other end user impact
None
Deployer impact
None
Developer impact
None
Horizon impact
None
Implementation
Assignee(s)
TBD
Work Items
Dependencies
- API with Vitrage Graph
- API with Vitrage Notifier
Testing
TBD
Documentation Impact
TBD
References
TBD