On 24/03/16 01:39, Rabi Mishra wrote:
On Wed, Mar 23, 2016 at 05:25:57PM +0300, Sergey Kraynev wrote:
Hello,
It looks similar on issue, which was discussed here [1]
I suppose, that the root cause is incorrect using get_attr for your
case.
Probably you got "list" instead of "string".
F.e. if I do something similar:
outputs:
rg_1:
value: {get_attr: [rg_a, rg_a_public_ip]}
rg_2:
value: {get_attr: [rg_a, rg_a_public_ip, 0]}
rg_3:
value: {get_attr: [rg_a]}
rg_4:
value: {get_attr: [rg_a, resource.0.rg_a_public_ip]}
where rg_a is also resource group which uses custom template as
resource.
the custom template has output value rg_a_public_ip.
The output for it looks like [2]
So as you can see, that in first case (like it is used in your example),
get_attr returns list with one element.
rg_2 is also wrong, because it takes first symbol from sting with IP
address.
Shouldn't rg_2 and rg_4 be equivalent?
They are the same for template version 2013-05-23. However, they behave
differently
from the next version(2014-10-16) onward and return a list of characters. I
think
this is due to the fact that `get_attr` function mapping is changed from
2014-10-16.
2013-05-23 -
https://github.com/openstack/heat/blob/master/heat/engine/hot/template.py#L70
2014-10-16 -
https://github.com/openstack/heat/blob/master/heat/engine/hot/template.py#L291
Correct. I think that's probably the source of confusion.
This makes me wonder why would a template author do something like
{get_attr: [rg_a, rg_a_public_ip, 0]} when he can easily do
This is why: https://bugs.launchpad.net/heat/+bug/1341048
You can do things with 2014-10-16 that aren't possible with 2013-05-23.
{get_attr: [rg_a, resource.0.rg_a_public_ip]} or {get_attr: [rg_a, resource.0,
rg_a_public_ip]}
for specific resource atrributes.
Yep, these are the only correct ways of doing this in 2014-10-16 and up,
and the first is the only efficient way of doing it in 2013-05-23 (note:
the second way works only in 2014-10-16 and up).
I understand that {get_attr: [rg_a, rg_a_public_ip]} cane be useful when we
just want to use
the list of attributes.
Indeed.
- ZB
__________________________________________________________________________
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev