Property errors in implicit dependencies cause unhelpful error messages
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Heat |
Fix Released
|
High
|
Zane Bitter |
Bug Description
Normally if there's an error in the property values supplied to a resource, then we'll get that error reported when we validate the resource - along with the proper context to tell us where exactly the error occurred. However, if we access the properties of a resource *before* it is validated, we won't get any of this context when an error occurs. We sometimes do this when calculating implicit dependencies. Here's an example (in Newton):
Unexpected error occurred serving API: Property network not
assigned
Traceback (most recent call last):
File "/usr/lib/
res = self.dispatcher
File "/usr/lib/
return self._do_
File "/usr/lib/
result = func(ctxt, **new_args)
File "/usr/lib/
return f(*args, **kwargs)
File "/usr/lib/
return func(self, ctx, *args, **kwargs)
File "/usr/lib/
template_id)
File "/usr/lib/
stack.
File "/usr/lib/
return f(*args, **kwargs)
File "/usr/lib/
iter_rsc = self.dependencies
File "/usr/lib/
ignore_
File "/usr/lib/
res.
File "/usr/lib/
subnet_net = res.properties.
File "/usr/lib64/
return self[key]
File "/usr/lib/
return self._get_
File "/usr/lib/
raise ValueError(
ValueError: Property network not assigned
The problem was an OS::Neutron::Subnet resource that didn't have a 'network' property, but you'd never have known that from the error message, which just said "ERROR: Property network not assigned"
Changed in heat: | |
milestone: | pike-rc1 → pike-rc2 |
Changed in heat: | |
milestone: | pike-rc2 → queens-1 |
Changed in heat: | |
milestone: | queens-1 → queens-2 |
Changed in heat: | |
milestone: | queens-2 → queens-3 |
Changed in heat: | |
milestone: | queens-3 → queens-rc1 |
Changed in heat: | |
milestone: | queens-rc1 → rocky-1 |
Changed in heat: | |
milestone: | rocky-1 → rocky-2 |
Fix proposed to branch: master /review. openstack. org/490149
Review: https:/