Failed ResourceGroup members may not be replaced on rolling update

Bug #1508736 reported by Zane Bitter
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
OpenStack Heat
Fix Released
Medium
Zane Bitter

Bug Description

When performing a rolling update of a ResourceGroup, if any of the members of the ResourceGroup are in a FAILED state they may (depending on their index in the group) be removed instead of being updated/replaced.

This is because the rolling update code assumes that resources are only added or removed at the end of the list, and names for any resources being created are selected on this basis. However, the valid_resources list of existing resources omits not only blacklisted resources (which will never be replaced) but also FAILED resources, which should be replaced. Because the names selected for new resources are merely the highest indices, and don't account for gaps, in some cases the definitions of those higher-indexed resources will be overwritten and the gap at a lower index left, so the ResourceGroup will have too few members.

Zane Bitter (zaneb)
Changed in heat:
milestone: none → mitaka-1
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/238306

Changed in heat:
status: Triaged → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to heat (master)

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

commit c56c326c1fea06994a751147f94144763eb324c7
Author: Zane Bitter <email address hidden>
Date: Fri Oct 23 18:33:22 2015 -0400

    Fix handling of FAILED ResourceGroup members on rolling update

    Ensure that any members of a ResourceGroup that are in a FAILED state are
    still included in the generated template during a rolling update, so that
    Heat will replace them in the nested stack.

    Change-Id: I1806d3160c364b0942934eb8b43614f17b98bacb
    Closes-Bug: #1508736

Changed in heat:
status: In Progress → Fix Committed
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to heat (stable/liberty)

Reviewed: https://review.openstack.org/241375
Committed: https://git.openstack.org/cgit/openstack/heat/commit/?id=e6565b118b7d2b35a265c6d3356c1905f017a2a1
Submitter: Jenkins
Branch: stable/liberty

commit e6565b118b7d2b35a265c6d3356c1905f017a2a1
Author: Zane Bitter <email address hidden>
Date: Fri Oct 23 18:33:22 2015 -0400

    Fix handling of FAILED ResourceGroup members on rolling update

    Ensure that any members of a ResourceGroup that are in a FAILED state are
    still included in the generated template during a rolling update, so that
    Heat will replace them in the nested stack.

    Change-Id: I1806d3160c364b0942934eb8b43614f17b98bacb
    Closes-Bug: #1508736
    (cherry picked from commit c56c326c1fea06994a751147f94144763eb324c7)

tags: added: in-stable-liberty
Zane Bitter (zaneb)
tags: removed: liberty-backport-potential
Revision history for this message
Thierry Carrez (ttx) wrote : Fix included in openstack/heat 6.0.0.0b1

This issue was fixed in the openstack/heat 6.0.0.0b1 development milestone.

Changed in heat:
status: Fix Committed → Fix Released
Revision history for this message
Doug Hellmann (doug-hellmann) wrote : Fix included in openstack/heat 5.0.1

This issue was fixed in the openstack/heat 5.0.1 release.

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.