Validation of non-permuted repeat function fails with mixed data sources
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Heat |
Fix Released
|
Medium
|
Khaled Qarout |
Bug Description
To fix bug 1629899, we substitute an empty list for any None values in the for_each section of the repeat function. This allows us to use the function during property validation.
However, when the function is used with the permutations: false argument, we also check that the lengths of all the arguments match. The result is that if arguments come from different sources - e.g. one from get_attr and others from e.g. get_param - the lengths may not match and validation will fail.
A workaround is to create OS::Heat::Value resources for each of the for_each lists, so that all of the values can be obtained using get_attr.
We should probably bypass the length check if any of the for_each lists are None.
Changed in heat: | |
milestone: | queens-2 → queens-3 |
Changed in heat: | |
assignee: | nobody → Khaled Qarout (khaledq) |
It seems that length check was added latter in https:/ /review. openstack. org/#/c/ 473360/ heat/engine/ hot/functions. py