Some intrinsic functions fail when referencing get_attr
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Heat |
Triaged
|
Medium
|
Rico Lin |
Bug Description
The following sample stack fails:
heat_template_
parameters:
ControllerSer
default:
- OS::TripleO:
type: comma_delimited
resources:
GoldChain:
type: OS::Heat:
properties:
resources: {get_param: ControllerServices}
resource_
Foo: bar
Controller:
type: OS::Heat:
depends_on: GoldChain
properties:
count: 1
resource_def:
type: foo.yaml
properties:
Foo: {map_merge: {get_attr: [GoldChain, role_data, config_settings]}}
----
The error messages shows up as: ERROR: Property error: : resources.
----
I've tried a similar stack and skipping the resource group and instead doing the same merge_map in an output and it seems to work fine.
Changed in heat: | |
assignee: | nobody → Steven Hardy (shardy) |
tags: | added: tripleo |
tags: | added: heat-validate |
Changed in heat: | |
milestone: | none → queens-1 |
Changed in heat: | |
milestone: | queens-1 → queens-2 |
Changed in heat: | |
status: | In Progress → Triaged |
Changed in heat: | |
milestone: | queens-2 → queens-3 |
Changed in heat: | |
milestone: | queens-3 → rocky-1 |
Changed in heat: | |
milestone: | rocky-1 → rocky-2 |
Looks like this is a bug in the map_merge implementation, we need to handle referenced to functions at the validate stage, both referencing a list and each item in the list referencing a function.