Deployment status checking generates tons of messages

Bug #1549219 reported by Thomas Herve
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenStack Heat
Triaged
Medium
Thomas Herve

Bug Description

When we create/update a software deployment, we use RPC to talk to another engine for getting its status. The default interval is 1 sec, so we generate lots of messages on the bus to retrieve that status. We should try to reduce this overhead.

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

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

commit a709637a17166cb12e5d94944837bac6451b2851
Author: Thomas Herve <email address hidden>
Date: Tue Feb 16 16:29:51 2016 +0100

    Replace SD RPC polling by long RPC call

    This changes the way SoftwareDeployment updates its internal status.
    Instead of querying the deployment status in a loop using RPC client, it
    makes a single call, which returns once the status has been updated.

    Closes-Bug: #1549219
    Change-Id: I484b7c8cb4a4e71817be6bea764f23b68a39b2d4

Changed in heat:
status: In Progress → Fix Released
Revision history for this message
Zane Bitter (zaneb) wrote :

I proposed a revert of the fix because it partially serialises resource creation on non-convergence stacks: https://review.openstack.org/#/c/313122/

At the summit we discussed a possible solution by allowing tasks to indicate to the scheduler how long to wait before polling them again, by doing e.g. "yield 5" (to sleep for 5s) instead of just "yield". This could be useful for many resource types, and of course it could vary dynamically so we could do things like exponential backoffs.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix proposed to heat (master)

Related fix proposed to branch: master
Review: https://review.openstack.org/313148

Zane Bitter (zaneb)
Changed in heat:
status: Fix Released → Triaged
Revision history for this message
OpenStack Infra (hudson-openstack) wrote :

Related fix proposed to branch: master
Review: https://review.openstack.org/317702

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix merged to heat (master)

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

commit 8f8330573b96ddfb43c5d44f3577c101b34ae299
Author: Zane Bitter <email address hidden>
Date: Tue May 17 12:29:12 2016 -0400

    Allow scheduler tasks to request longer wait periods

    This change allows a scheduler co-routine to yield an integer n, such
    that only every nth call to TaskRunner.step() results in the co-routine
    being advanced. We'll be able to use this to selectively slow down
    polling of resources where and when we know it doesn't make sense to
    poll every second.

    Change-Id: Ifc6303524be8e477905546760279027886833617
    Related-Bug: #1549219

Revision history for this message
OpenStack Infra (hudson-openstack) wrote :

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

commit 27dd19d72708ccf4c29e37524ec714c38e7f23eb
Author: Zane Bitter <email address hidden>
Date: Tue May 17 12:43:58 2016 -0400

    Allow resources to delay polling

    Provide an easy way for resource types to limit the rate at which they are
    polled, by raising a PollDelay exception from a check_<ACTION>_complete()
    method, without having to maintain their own state.

    Change-Id: I4b3cfb6e07098746e8b46e12fcefd4ee57a85260
    Related-Bug: #1549219

Revision history for this message
Doug Hellmann (doug-hellmann) wrote : Fix included in openstack/heat 7.0.0.0b1

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

Rico Lin (rico-lin)
Changed in heat:
milestone: none → no-priority-tag-bugs
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.