SoftwareDeploymentGroup doesn't support path based attributes

Bug #1488921 reported by Steven Hardy
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenStack Heat
Fix Released
Medium
Steven Hardy

Bug Description

SoftwareDeploymentGroup offers a number of attributes to access the underlying ResourceGroup of SoftwareDeployment resources, but there are two problems which make this quite hard to use:

1. We don't pass the path from the SoftwareDeploymentGroup FnGetAtt to the call to ResourceGroup.FnGetAtt, so it's impossible to select a specific item from the returned map

2. We don't allow selecting anything other than the hard-coded stderr/stdout/status_code outputs - the underlying SoftwareDeployment allows selection of any output key, so we should pass through the value if it's not one of the hard-coded attributes.

Steven Hardy (shardy)
Changed in heat:
assignee: nobody → Steven Hardy (shardy)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to heat (master)

Fix proposed to branch: master
Review: https://review.openstack.org/217191

Changed in heat:
status: New → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote :

Fix proposed to branch: master
Review: https://review.openstack.org/217192

Steven Hardy (shardy)
Changed in heat:
milestone: none → liberty-3
Changed in heat:
importance: Undecided → Medium
Changed in heat:
assignee: Steven Hardy (shardy) → Sean Dague (sdague)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to heat (master)

Reviewed: https://review.openstack.org/217191
Committed: https://git.openstack.org/cgit/openstack/heat/commit/?id=b574cdaf26ee0f1286645307a830bc31d9e4f668
Submitter: Jenkins
Branch: master

commit b574cdaf26ee0f1286645307a830bc31d9e4f668
Author: Steven Hardy <email address hidden>
Date: Wed Aug 26 14:42:06 2015 +0100

    SoftwareDeploymentGroup - make path based attributes work

    Currently all the attributes return a map, with the keys being
    each SoftwareDeployment name, e.g "0", "1", "2", but path based
    attributes don't work, so there's no way to select a specific
    element from the map. So add support for path based attributes
    using the same approach used in SoftwareDeployment.

    (Pulled from gate, can't pass until Neutron netaddr fix is landed in kilo)

    Change-Id: I9d1ce8de208a046ce335d4f574b413ba048b1ad3
    Partial-Bug: #1488921

Changed in heat:
assignee: Sean Dague (sdague) → Steven Hardy (shardy)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote :

Reviewed: https://review.openstack.org/217192
Committed: https://git.openstack.org/cgit/openstack/heat/commit/?id=a2c3e002970fa1b79922d9f58b2fe1270d05162a
Submitter: Jenkins
Branch: master

commit a2c3e002970fa1b79922d9f58b2fe1270d05162a
Author: Steven Hardy <email address hidden>
Date: Wed Aug 26 14:58:53 2015 +0100

    SoftwareDeploymentGroup allow arbitrary keys for attributes

    Since SoftwareDeploymentGroup is really a ResourceGroup, it's capable
    of resolving any attribute supported by SoftwareDeployment, including
    arbitrary outputs mapped to attributes. Exposing these via the
    SoftwareDeploymentGroup resource provides much better flexibility than
    forcing users to mangle everything via stdout.

    This has the side-effect of making the existing attributes somewhat
    redundant, e.g:

    get_attr: [a_sdg, deploy_stdouts]

    is exactly equivalent to this:

    get_attr: [a_sdg, deploy_stdout]

    The deploy_stdout attribute should be transparently reflected from the
    SoftwareDeployment resources via the normal ResourceGroup interfaces,
    so we could consider deprecating the existing attributes at some point.

    Change-Id: Ie3b89155d2be0050394eb7f7d5000331cde9aae0
    Closes-Bug: #1488921

Changed in heat:
status: In Progress → Fix Committed
Changed in heat:
status: Fix Committed → Fix Released
Thierry Carrez (ttx)
Changed in heat:
milestone: liberty-3 → 5.0.0
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.