vitrage/doc/source/contributor/template_validation_status_code.rst
Ifat Afek 4576523641 Support per-version template loading + change execute_mistral structure
This change contains refactoring of the template validation and loading,
in order to allow different validators and loaders for execute_mistral
action in versions 1 and 2.

* template_versions.py contains all supported versions, including their
  validators and loaders (and in the future - functions like get_attr())
* template_version_factory.py allows getting the right template version
  instance
* validators and loaders are retrieved only from the template-version
  instance, and are no longer created directly
* All content validators and loaders were moved under v1 and v2 packages

In addition, the structure of execute_mistral has changed, so now all
the input parameters of the workflow must reside under an 'input' section.

Change-Id: I8eebc79b0885eab9c013fafdc17ae8378c7bcedf
2018-01-01 09:59:07 +00:00

13 KiB

Template Validation Status Code

Overview

Status codes are received after executing Vitrage template validation. The code describes the Vitrage template status: if the template is correct, the status code is 0. Otherwise the code describes the error in the template itself.

Description

The following describes all the possible status code and their messages:

code message Test Type
0 Template validation is OK content and syntax
1 template_id field contains incorrect string value content
2 Duplicate template_id definition content
3 template_id does not appear in the definition block content
4 Syntax error: [error message] syntax
5 Invalid yaml format syntax
20 definitions section must contain entities field syntax
21 definitions section is a mandatory section syntax
41 Entity definition must contain template_id field syntax
42 Entity definition must contain category field syntax
43 At least one entity must be defined syntax
45 Invalid entity category. Category must be from types: [entities_categories] syntax
46 Entity field is required syntax
47 Invalid regular expression defined in field content
60 metadata section must contain id field syntax
62 metadata is a mandatory section syntax
63 Unsupported version. Version must be one of: {versions} content
80 scenarios is a mandatory section syntax
81 At least one scenario must be defined syntax
82 scenario field is required syntax
83 Entity definition must contain condition field syntax
84 Entity definition must contain actions field syntax
85 Failed to convert condition content
86 Not operator can be used only on relationships. content
100 Invalid relation type. Relation type must be from types: [relation_types] syntax
101 Relationship field is required syntax
102 Relationship definition must contain source field syntax
103 Relationship definition must contain target field syntax
104 Relationship definition must contain template_id field syntax
120 Invalid action type. Action type must be from types: [action_types] content
121 At least one action must be defined syntax
122 Action field is required syntax
123 Relationship definition must contain action_type field syntax
124 Relationship definition must contain action_target field syntax
125 raise_alarm action must contain alarm_name field in properties block content
126 raise_alarm action must contain severity field in properties block content
127 raise_alarm action must contain target field in target_action block content
128 set_state action must contain state field in properties block content
129 set_state action must contain target field in target_action block content
130 add_causal_relationship action must contain target and source field in target_action block content
131 mark_down action must contain target field in target_action block. content
132 add_causal_relationship action requires action_target to be ALARM content
133 execute_mistral action must contain workflow field in properties block content
134 condition can not contain only 'not' clauses content
135 condition must contain a common entity for all 'or' clauses content
136 Input parameters for Mistral workflow in execute_mistral action must be placed under an 'input' block content (version 2)
140 At least one template must be included syntax
141 Name field is unspecified for include syntax
142 Trying to include a template that does not exist content
143 A template definition file cannot contain 'includes' or 'scenarios' blocks syntax