Stack update leaks memory

Bug #1376857 reported by Zane Bitter
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenStack Heat
Fix Released
High
Zane Bitter

Bug Description

Since https://review.openstack.org/#/c/102851/13 performing a stack update creates an Event object for signalling purposes to allow the user to cancel the update and roll it back. However the Event object is never deleted, and will therefore leak memory.

Zane Bitter (zaneb)
description: updated
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/125723

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/125723
Committed: https://git.openstack.org/cgit/openstack/heat/commit/?id=6f13c2d0a4ff2004654a690c1e84a0c9d40ed577
Submitter: Jenkins
Branch: master

commit 6f13c2d0a4ff2004654a690c1e84a0c9d40ed577
Author: Zane Bitter <email address hidden>
Date: Fri Oct 3 14:22:10 2014 -0400

    Clean up signalling events after stack updates

    We provide an Event object to every stack update in order to signal it that
    we need to cancel the update; this change ensures that we delete it when
    the thread is complete. Previously we were leaking memory on every update.

    Change-Id: Ie0fbe3ec3ab57a2cb9dd5e551db15285b2b423c0
    Closes-Bug: #1376857

Changed in heat:
status: In Progress → Fix Committed
Thierry Carrez (ttx)
Changed in heat:
milestone: kilo-1 → juno-rc2
tags: removed: juno-rc-potential
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to heat (proposed/juno)

Fix proposed to branch: proposed/juno
Review: https://review.openstack.org/126918

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to heat (proposed/juno)

Reviewed: https://review.openstack.org/126918
Committed: https://git.openstack.org/cgit/openstack/heat/commit/?id=9027ee5e8e9d9976c29a47e4063b783a43ec2d04
Submitter: Jenkins
Branch: proposed/juno

commit 9027ee5e8e9d9976c29a47e4063b783a43ec2d04
Author: Zane Bitter <email address hidden>
Date: Fri Oct 3 14:22:10 2014 -0400

    Clean up signalling events after stack updates

    We provide an Event object to every stack update in order to signal it that
    we need to cancel the update; this change ensures that we delete it when
    the thread is complete. Previously we were leaking memory on every update.

    Change-Id: Ie0fbe3ec3ab57a2cb9dd5e551db15285b2b423c0
    Closes-Bug: #1376857
    (cherry picked from commit 6f13c2d0a4ff2004654a690c1e84a0c9d40ed577)

Changed in heat:
status: Fix Committed → Fix Released
Thierry Carrez (ttx)
Changed in heat:
milestone: juno-rc2 → 2014.2
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/128908

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to heat (master)
Download full text (5.1 KiB)

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

commit c06772571a81383aa37336a78d72d455067b75e8
Author: Zane Bitter <email address hidden>
Date: Fri Oct 10 15:43:16 2014 -0400

    Don't update a LoadBalancer under autoscaling control

    Unfortunately, Autoscaling currently uses the update() method of a
    LoadBalancer resource to do updates, with the result that the current
    member list gets persisted (good) and used to compare in the event of
    future *stack* updates (bad).

    With this patch, we assume that LoadBalancers under the control of
    Autoscaling will never have a members list property supplied in the
    template. We then ignore any updates to Autoscaling LoadBalancers that
    don't actually modify the template.

    The test changes revert the changes made in order to be able to merge
    d32370233eaf2a5c32888f269bd1dc5e0e787467, before which LoadBalancers were
    behaving correctly.

    Change-Id: I9c02ab3d3dfbee0a8a90dd0ba345a5acdaf8a610
    Closes-Bug: #1379619
    (cherry picked from commit 7506d2c22fcd3d6e825ee660a4b20c5947cc7e9a)

commit 5aa66555209eb5a59abdb189b0a5d1224e73b566
Author: Angus Salkeld <email address hidden>
Date: Fri Oct 10 12:00:37 2014 +1000

    Make sure that the properties are stored on updates

    Previously properties_data was only stored on creation, now
    this is getting passed to the update mechanism too.
    Later we can look at reworking this into a single mechanism.

    Closes-bug: #1377681
    Change-Id: If3d476f34b9e61a3c99f63ba33734a875353c8fc
    (cherry picked from commit d32370233eaf2a5c32888f269bd1dc5e0e787467)

commit 6e1ad898d887514267e3a429c291b2a067ea7e03
Author: huangtianhua <email address hidden>
Date: Wed Sep 24 15:19:24 2014 +0800

    Do not attempt a stack update when it is deleting

    If a stack is in any delete state(inprogress, failed),
    don't attempt to update it.

    Closes-bug: #1379113
    Change-Id: I1de99702a385ac8ddeffc568270d2d3b51674323

commit 1e9b2cdd9004c5e1fa3bb1a27830d75ebaebe20c
Author: Brant Knudson <email address hidden>
Date: Wed Oct 8 20:15:54 2014 -0500

    Update references to auth_token middleware

    There's references to the auth_token middleware in keystoncelient.
    The auth_token middleware has been moved to keystonemiddleware and
    the version in keystoneclient shouldn't be used anymore.

    If these references aren't updated, then when options are changed in
    keystonemiddleware.auth_token the heat-api will fail to start because
    there's duplicate options in keystoneclient.middleware.auth_token.

    Change-Id: I04573aa5ff967afe3e00329f797fcc71b779e7b3
    Closes-Bug: #1379082

commit 170069d540342ced4dc3fdb3df6619395dd56c6f
Author: Angus Salkeld <email address hidden>
Date: Thu Oct 9 15:35:34 2014 +1000

    Add missing extra "greenthread" arg to remove_event()

    See: http://eventlet.net/doc/modules/greenthread.html
    the callback gets passed a "gt" arg.

    Change-Id: I9bd44857662e45a1da2d4287017e...

Read more...

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.