This may also be relevant: https://blueprints.launchpad.net/heat/+spec/override-resource-name-in-resource-group
On Feb 19, 2014, at 1:48 AM, Clint Byrum <cl...@fewbar.com> wrote: > Since picking up Heat and trying to think about how to express clusters > of things, I've been troubled by how poorly the CFN language supports > using lists. There has always been the Fn::Select function for > dereferencing arrays and maps, and recently we added a nice enhancement > to HOT to allow referencing these directly in get_attr and get_param. > > However, this does not help us when we want to do something with all of > the members of a list. > > In many applications I suspect the template authors will want to do what > we want to do now in TripleO. We have a list of identical servers and > we'd like to fetch the same attribute from them all, join it with other > attributes, and return that as a string. > > The specific case is that we need to have all of the hosts in a cluster > of machines addressable in /etc/hosts (please, Designate, save us, > eventually. ;). The way to do this if we had just explicit resources > named NovaCompute0, NovaCompute1, would be: > > str_join: > - "\n" > - - str_join: > - ' ' > - get_attr: > - NovaCompute0 > - networks.ctlplane.0 > - get_attr: > - NovaCompute0 > - name > - str_join: > - ' ' > - get_attr: > - NovaCompute1 > - networks.ctplane.0 > - get_attr: > - NovaCompute1 > - name > > Now, what I'd really like to do is this: > > map: > - str_join: > - "\n" > - - str_join: > - ' ' > - get_attr: > - "$1" > - networks.ctlplane.0 > - get_attr: > - "$1" > - name > - - NovaCompute0 > - NovaCompute1 > > This would be helpful for the instances of resource groups too, as we > can make sure they return a list. The above then becomes: > > > map: > - str_join: > - "\n" > - - str_join: > - ' ' > - get_attr: > - "$1" > - networks.ctlplane.0 > - get_attr: > - "$1" > - name > - get_attr: > - NovaComputeGroup > - member_resources > > Thoughts on this idea? I will throw together an implementation soon but > wanted to get this idea out there into the hive mind ASAP. > > _______________________________________________ > OpenStack-dev mailing list > OpenStack-dev@lists.openstack.org > http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev _______________________________________________ OpenStack-dev mailing list OpenStack-dev@lists.openstack.org http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev