Vitrage template condition evaluation
As discussed in the Templates blueprint, in Vitrage we will use configuration files to define an "if (condition) then (action)" flow, where the condition is the state of one or more related entities and their inter-relations. Entities, in this context, includes cloud resources, alarms, and more. The actions which can be performed include, for example, raising an alarm or setting the state of a resource. This blueprint focuses on supporting the condition evaluation process.
The condition evaluation should be done by comparison to the Entity Graph. The Entity Graph represents the current state of the cloud, and the template describes a specific sub-state of the cloud.
Note that the Template conditions need to be evaluated only when there is a change in the system state that is reflected in the entity graph, and more specifically, when the change impacts an entity referenced in the template. As templates are expected to be relatively small (commonly, relationships of interest will consist of a small number of entities and alarms), it should be possible to limit which templates need to be checked per system update.
Another point to note is that the condition might have several matches in the system (for example, several VMs on a single host), and the subsequent actions must be performed on all these matches.
Blueprint information
- Status:
- Complete
- Approver:
- None
- Priority:
- Undefined
- Drafter:
- Elisha Rosensweig
- Direction:
- Needs approval
- Assignee:
- Elisha Rosensweig
- Definition:
- Obsolete
- Series goal:
- None
- Implementation:
- Unknown
- Milestone target:
- None
- Started by
- Completed by
- Ifat Afek