Fixes in the templates code
1. Remove the 'parameters' section after resolving the parameters 2. Give an error code in template validate if the template type was not specified Story: 2004056 Task: 29576 Depends-On: I18af00599461ead7bf9084168aeed7321adfd4c0 Change-Id: If5d03278f6cc4ca9ae071783bf60520d95146eea
This commit is contained in:
parent
ca66ef5855
commit
98e1fdf07b
@ -49,11 +49,15 @@ The following describes all the possible status code and their messages:
|
||||
+------------------+---------------------------------------------------------+-------------------------------+
|
||||
| 63 | Unsupported version. Version must be one of: {versions} | content |
|
||||
+------------------+---------------------------------------------------------+-------------------------------+
|
||||
| 64 | metadata section must contain a type field in version 2.| content |
|
||||
| | Type must be one of: {standard, equivalence, definition}| content |
|
||||
| 64 | metadata section must contain a type field starting | content |
|
||||
| | from version 2. | |
|
||||
| | Type must be one of: {standard, equivalence, definition}| |
|
||||
+------------------+---------------------------------------------------------+-------------------------------+
|
||||
| 65 | Invalid template type. Type must be one of: {standard, | content |
|
||||
| | equivalence, definition} | content |
|
||||
| | equivalence, definition} | |
|
||||
+------------------+---------------------------------------------------------+-------------------------------+
|
||||
| 66 | Missing template type. Type must be one of: {standard, | content |
|
||||
| | equivalence, definition} | |
|
||||
+------------------+---------------------------------------------------------+-------------------------------+
|
||||
| 80 | scenarios is a mandatory section | syntax |
|
||||
+------------------+---------------------------------------------------------+-------------------------------+
|
||||
|
@ -15,13 +15,15 @@ from oslo_log import log
|
||||
from oslo_utils import uuidutils
|
||||
|
||||
from vitrage.common.constants import TemplateStatus
|
||||
from vitrage.common.constants import TemplateTopologyFields as TFields
|
||||
from vitrage.common.constants import TemplateTypes as TType
|
||||
from vitrage.common.exception import VitrageError
|
||||
from vitrage.evaluator.base import Template
|
||||
from vitrage.evaluator.template_fields import TemplateFields as TFields
|
||||
from vitrage.evaluator.template_functions.v2 import resolve_parameters
|
||||
from vitrage.evaluator import template_validation
|
||||
from vitrage.evaluator.template_validation import base
|
||||
from vitrage.evaluator.template_validation.content.base import \
|
||||
get_content_fault_result
|
||||
from vitrage.storage.sqlalchemy import models
|
||||
|
||||
LOG = log.getLogger(__name__)
|
||||
@ -42,6 +44,9 @@ def add_templates_to_db(db, templates, cli_type, params=None):
|
||||
result = _validate_template(db, template, final_type, params)
|
||||
if result.is_valid_config:
|
||||
result = resolve_parameters(template, params)
|
||||
if result.is_valid_config and TFields.PARAMETERS in template:
|
||||
# remove the 'parameters' section, it is no longer needed
|
||||
del template[TFields.PARAMETERS]
|
||||
|
||||
# validate again, with the resolved parameters
|
||||
if result.is_valid_config:
|
||||
@ -66,7 +71,8 @@ def validate_templates(db, templates, cli_type, params):
|
||||
for template in templates:
|
||||
final_type = template[METADATA].get(TFields.TYPE, cli_type)
|
||||
if not final_type or (cli_type and cli_type != final_type):
|
||||
results.append(base.Result("", False, "", "Unknown template type"))
|
||||
results.append(
|
||||
get_content_fault_result(66, "Unknown template type"))
|
||||
else:
|
||||
results.append(
|
||||
_validate_template(db, template, final_type, params))
|
||||
|
@ -45,10 +45,12 @@ status_msgs = {
|
||||
62: 'metadata is a mandatory section.',
|
||||
63: 'Unsupported version. Version must be one of: {versions}'
|
||||
.format(versions=TemplateSchemaFactory.supported_versions()),
|
||||
64: 'metadata section must contain a type field in version 2. Type must be'
|
||||
' one of: {types}'.format(types=TemplateTypes.types()),
|
||||
64: 'metadata section must contain a type field starting from version 2. '
|
||||
'Type must be one of: {types}'.format(types=TemplateTypes.types()),
|
||||
65: 'Invalid template type. Type must be one of: {types}'
|
||||
.format(types=TemplateTypes.types()),
|
||||
66: 'Missing template type. Type must be one of: {types}'
|
||||
.format(types=TemplateTypes.types()),
|
||||
|
||||
# scenarios section status messages 80-99
|
||||
80: 'scenarios is a mandatory section.',
|
||||
|
Loading…
x
Reference in New Issue
Block a user