Don't see there any problem. In rg_4 you get rg_a_public_ip attrbiute for the first resource if group, type(rg_a_public_ip) == str. In rg_2 you get first element of rg_a_public_ip attrbiute of each resource, so you get list of first characters of each attribute rg_a_public_ip in case of string-type rg_a_public_ip.
Don't see there any problem. In rg_4 you get rg_a_public_ip attrbiute for the first resource if group, type(rg_ a_public_ ip) == str. In rg_2 you get first element of rg_a_public_ip attrbiute of each resource, so you get list of first characters of each attribute rg_a_public_ip in case of string-type rg_a_public_ip.
Look, I change in main template count of resources if rg_a to 2 and get after that next response: http:// paste.openstack .org/show/ 492214/
IMO, there's no bug.