Trying to use Fn::Join with a software deployment using get_input -
Fn::Join:
- ':'
- - get_input: foo
- "bar"
errors on stack-update, showing "Items to join must be strings"
https://review.openstack.org/108135 let me see what errors which is this:
Items to join must be strings {u'get_input': u'controller_host'}
which can't be resolved by function.resolve as its not a function :).
Raising the log level on the server let me see this: (btw - shouldn't need to do that :/)
2014-07-18 10:40:52.282 20240 ERROR heat.engine.parser [req-8a28db27-f5ef-4df0-960a-36d562977414 None] Property error : SSLConfig: config Items to join must be strings
2014-07-18 10:40:52.282 20240 TRACE heat.engine.parser Traceback (most recent call last):
2014-07-18 10:40:52.282 20240 TRACE heat.engine.parser File "/opt/stack/venvs/heat/local/lib/python2.7/site-packages/heat/engine/parser.py", line 418, in validate
2014-07-18 10:40:52.282 20240 TRACE heat.engine.parser result = res.validate()
2014-07-18 10:40:52.282 20240 TRACE heat.engine.parser File "/opt/stack/venvs/heat/local/lib/python2.7/site-packages/heat/engine/resource.py", line 640, in validate
2014-07-18 10:40:52.282 20240 TRACE heat.engine.parser return self.properties.validate()
2014-07-18 10:40:52.282 20240 TRACE heat.engine.parser File "/opt/stack/venvs/heat/local/lib/python2.7/site-packages/heat/engine/properties.py", line 322, in validate
2014-07-18 10:40:52.282 20240 TRACE heat.engine.parser raise exception.StackValidationFailed(message=msg)
2014-07-18 10:40:52.282 20240 TRACE heat.engine.parser StackValidationFailed: Property error : SSLConfig: config Items to join must be strings
2014-07-18 10:40:52.282 20240 TRACE heat.engine.parser
So it looks to me like its trying to get the property value, but you can't do that in a late bound config, you can only check that the structure is right, no ?