On 15/07/14 20:43, Tomas Sedovic wrote: > On 15/07/14 20:01, Zane Bitter wrote: >> On 14/07/14 12:21, Tomas Sedovic wrote: >>> On 12/07/14 06:41, Zane Bitter wrote: >>>> On 11/07/14 09:37, Tomas Sedovic wrote: >> > [snip] >>> >>>> >>>> There is one aspect of this that probably doesn't work yet: originally >>>> outputs and attributes were only allowed to be strings. We changed that >>>> for attributes, but probably not yet for outputs (even though outputs of >>>> provider templates become attributes of the facade resource). But that >>>> should be easy to fix. (And if your data can be returned as a string, it >>>> should already work.) >>> >>> Unless I misunderstood what you're saying, it seems to be working now: >>> >>> controller.yaml: >>> >>> outputs: >>> hosts_entry: >>> description: An IP address and a hostname of the server >>> value: >>> ip: {get_attr: [controller_server, networks, private, 0]} >>> name: {get_attr: [controller_server, name]} >>> >>> environment.yaml: >>> >>> resource_registry: >>> OS::TripleO::Controller: controller.yaml >>> >>> test-resource-group.yaml: >>> >>> resources: >>> servers: >>> type: OS::Heat::ResourceGroup >>> properties: >>> count: 3 >>> resource_def: >>> type: OS::TripleO::Controller >>> properties: >>> key_name: {get_param: key_name} >>> image: {get_param: image_id} >>> >>> outputs: >>> hosts: >>> description: "/etc/hosts entries for each server" >>> value: {get_attr: [servers, hosts_entry]} >>> >>> Heat stack-show test-resource-group: >>> >>> { >>> "output_value": [ >>> "{u'ip': u'10.0.0.4', u'name': >>> u'rg-7heh-0-tweejsvubaht-controller_server-mscy33sbtirn'}", >>> "{u'ip': u'10.0.0.3', u'name': >>> u'rg-7heh-1-o4szl7lry27d-controller_server-sxpkalgi27ii'}", >>> "{u'ip': u'10.0.0.2', u'name': >>> u'rg-7heh-2-l2y6rqxml2fi-controller_server-u4jcjacjdrea'}" >>> ], >>> "description": "/etc/hosts entries for each server", >>> "output_key": "hosts" >>> }, >> >> It looks like the dicts are being converted to strings by Python, so >> there probably is a small bug here to be fixed. (At the very least, if >> we're converting to strings we should do so using json.dumps(), not >> repr().) > > Ooops, you're right. In my excitement, I completely missed that!
Looks like there's a bug filed for this already: https://bugs.launchpad.net/heat/+bug/1297938 > >> >> [snip] _______________________________________________ OpenStack-dev mailing list OpenStack-dev@lists.openstack.org http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev