Merge "Improve StackValidationFailed resp param_groups"
This commit is contained in:
commit
79b1e3070a
|
@ -45,34 +45,46 @@ class ParameterGroups(object):
|
||||||
LOG.debug(self.parameter_names)
|
LOG.debug(self.parameter_names)
|
||||||
if self.parameter_groups:
|
if self.parameter_groups:
|
||||||
if not isinstance(self.parameter_groups, list):
|
if not isinstance(self.parameter_groups, list):
|
||||||
raise exception.StackValidationFailed(message=_(
|
raise exception.StackValidationFailed(
|
||||||
'The %s should be a list.') % PARAMETER_GROUPS)
|
error=_('Parameter Groups error'),
|
||||||
|
path=[PARAMETER_GROUPS],
|
||||||
|
message=_('The %s should be a list.') % PARAMETER_GROUPS)
|
||||||
|
|
||||||
# Loop through groups and validate parameters
|
# Loop through groups and validate parameters
|
||||||
grouped_parameters = []
|
grouped_parameters = []
|
||||||
for group in self.parameter_groups:
|
for group in self.parameter_groups:
|
||||||
parameters = group.get(PARAMETERS)
|
parameters = group.get(PARAMETERS)
|
||||||
if parameters is None:
|
if parameters is None:
|
||||||
raise exception.StackValidationFailed(message=_(
|
raise exception.StackValidationFailed(
|
||||||
'The %s must be provided for '
|
error=_('Parameter Groups error'),
|
||||||
'each parameter group.') % PARAMETERS)
|
path=[PARAMETER_GROUPS, group.get('label')],
|
||||||
|
message=_('The %s must be provided for '
|
||||||
|
'each parameter group.') % PARAMETERS)
|
||||||
|
|
||||||
if not isinstance(parameters, list):
|
if not isinstance(parameters, list):
|
||||||
raise exception.StackValidationFailed(message=_(
|
raise exception.StackValidationFailed(
|
||||||
'The %s of parameter group '
|
error=_('Parameter Groups error'),
|
||||||
'should be a list.') % PARAMETERS)
|
path=[PARAMETER_GROUPS, group.get('label')],
|
||||||
|
message=_('The %s of parameter group '
|
||||||
|
'should be a list.') % PARAMETERS)
|
||||||
|
|
||||||
for param in parameters:
|
for param in parameters:
|
||||||
# Check if param has been added to a previous group
|
# Check if param has been added to a previous group
|
||||||
if param in grouped_parameters:
|
if param in grouped_parameters:
|
||||||
raise exception.StackValidationFailed(message=_(
|
raise exception.StackValidationFailed(
|
||||||
'The %s parameter must be assigned to one '
|
error=_('Parameter Groups error'),
|
||||||
'parameter group only.') % param)
|
path=[PARAMETER_GROUPS, group.get('label')],
|
||||||
|
message=_(
|
||||||
|
'The %s parameter must be assigned to one '
|
||||||
|
'parameter group only.') % param)
|
||||||
else:
|
else:
|
||||||
grouped_parameters.append(param)
|
grouped_parameters.append(param)
|
||||||
|
|
||||||
# Check that grouped parameter references a valid Parameter
|
# Check that grouped parameter references a valid Parameter
|
||||||
if param not in self.parameter_names:
|
if param not in self.parameter_names:
|
||||||
raise exception.StackValidationFailed(message=_(
|
raise exception.StackValidationFailed(
|
||||||
'The grouped parameter %s does not reference '
|
error=_('Parameter Groups error'),
|
||||||
'a valid parameter.') % param)
|
path=[PARAMETER_GROUPS, group.get('label')],
|
||||||
|
message=_(
|
||||||
|
'The grouped parameter %s does not reference '
|
||||||
|
'a valid parameter.') % param)
|
||||||
|
|
|
@ -1407,8 +1407,11 @@ class validateTest(common.HeatTestCase):
|
||||||
exc = self.assertRaises(exception.StackValidationFailed,
|
exc = self.assertRaises(exception.StackValidationFailed,
|
||||||
stack.validate)
|
stack.validate)
|
||||||
|
|
||||||
self.assertEqual(_('The InstanceType parameter must be assigned to '
|
self.assertEqual(_('Parameter Groups error : '
|
||||||
'one parameter group only.'), six.text_type(exc))
|
'parameter_groups.Database '
|
||||||
|
'Group: The InstanceType parameter must be '
|
||||||
|
'assigned to one parameter group only.'),
|
||||||
|
six.text_type(exc))
|
||||||
|
|
||||||
def test_validate_invalid_parameter_in_group(self):
|
def test_validate_invalid_parameter_in_group(self):
|
||||||
t = template_format.parse(test_template_invalid_parameter_name)
|
t = template_format.parse(test_template_invalid_parameter_name)
|
||||||
|
@ -1422,8 +1425,10 @@ class validateTest(common.HeatTestCase):
|
||||||
exc = self.assertRaises(exception.StackValidationFailed,
|
exc = self.assertRaises(exception.StackValidationFailed,
|
||||||
stack.validate)
|
stack.validate)
|
||||||
|
|
||||||
self.assertEqual(_('The grouped parameter SomethingNotHere does not '
|
self.assertEqual(_('Parameter Groups error : '
|
||||||
'reference a valid parameter.'),
|
'parameter_groups.Database Group: The grouped '
|
||||||
|
'parameter SomethingNotHere does not '
|
||||||
|
'reference a valid parameter.'),
|
||||||
six.text_type(exc))
|
six.text_type(exc))
|
||||||
|
|
||||||
def test_validate_no_parameters_in_group(self):
|
def test_validate_no_parameters_in_group(self):
|
||||||
|
@ -1433,7 +1438,8 @@ class validateTest(common.HeatTestCase):
|
||||||
exc = self.assertRaises(exception.StackValidationFailed,
|
exc = self.assertRaises(exception.StackValidationFailed,
|
||||||
stack.validate)
|
stack.validate)
|
||||||
|
|
||||||
self.assertEqual(_('The parameters must be provided for each '
|
self.assertEqual(_('Parameter Groups error : parameter_groups.Server '
|
||||||
|
'Group: The parameters must be provided for each '
|
||||||
'parameter group.'), six.text_type(exc))
|
'parameter group.'), six.text_type(exc))
|
||||||
|
|
||||||
def test_validate_parameter_groups_not_list(self):
|
def test_validate_parameter_groups_not_list(self):
|
||||||
|
@ -1443,7 +1449,8 @@ class validateTest(common.HeatTestCase):
|
||||||
exc = self.assertRaises(exception.StackValidationFailed,
|
exc = self.assertRaises(exception.StackValidationFailed,
|
||||||
stack.validate)
|
stack.validate)
|
||||||
|
|
||||||
self.assertEqual(_('The parameter_groups should be '
|
self.assertEqual(_('Parameter Groups error : parameter_groups: '
|
||||||
|
'The parameter_groups should be '
|
||||||
'a list.'), six.text_type(exc))
|
'a list.'), six.text_type(exc))
|
||||||
|
|
||||||
def test_validate_parameters_not_list(self):
|
def test_validate_parameters_not_list(self):
|
||||||
|
@ -1453,7 +1460,9 @@ class validateTest(common.HeatTestCase):
|
||||||
exc = self.assertRaises(exception.StackValidationFailed,
|
exc = self.assertRaises(exception.StackValidationFailed,
|
||||||
stack.validate)
|
stack.validate)
|
||||||
|
|
||||||
self.assertEqual(_('The parameters of parameter group should be '
|
self.assertEqual(_('Parameter Groups error : '
|
||||||
|
'parameter_groups.Server Group: '
|
||||||
|
'The parameters of parameter group should be '
|
||||||
'a list.'), six.text_type(exc))
|
'a list.'), six.text_type(exc))
|
||||||
|
|
||||||
def test_validate_allowed_values_integer(self):
|
def test_validate_allowed_values_integer(self):
|
||||||
|
|
Loading…
Reference in New Issue