Comment 0 for bug 1324968

Revision history for this message
Vijendar Komalla (vijendar-komalla) wrote : Include parameter name in StackValidationException

When an incorrect parameter is passed, StackValidationException would be thrown, but this exception does not include parameter name. For example, see the following exception;
{
    "message": "must begin with a letter and contain only alphanumeric characters.",
    "traceback": "Traceback (most recent call last):\n\n File \"/opt/stack/heat/heat/engine/service.py\", line 62, in wrapped\n return func(self, ctx, *args, **kwargs)\n\n File \"/opt/stack/heat/heat/engine/service.py\", line 542, in create_stack\n stack = parser.Stack(cnxt, stack_name, tmpl, env, **common_params)\n\n File \"/opt/stack/heat/heat/engine/parser.py\", line 108, in __init__\n context=context)\n\n File \"/opt/stack/heat/heat/engine/parameters.py\", line 407, in validate\n\n File \"/opt/stack/heat/heat/engine/parameters.py\", line 220, in validate\n self._validate(self.default(), context)\n\n File \"/opt/stack/heat/heat/engine/parameters.py\", line 288, in _validate\n\n File \"/opt/stack/heat/heat/engine/parameters.py\", line 159, in validate_value\n if name == \"name\":\n\n File \"/opt/stack/heat/heat/engine/constraints.py\", line 169, in validate_constraints\n raise exception.StackValidationFailed(message=six.text_type(ex))\n\nStackValidationFailed: must begin with a letter and contain only alphanumeric characters.\n",
    "type": "StackValidationFailed"
}

Including parameter name would be helpful in identifying the issue quickly.