Improve API polling

Registered by Jason Dunsmore

Heat polls a resource's API (eg. Nova, Trove) every second during resource creation to check the status of the resource. Several concurrent stack-creates can cause a high number of requests to the API and trigger the API's rate-limiting, which results in a stack-creation failure.

Polling should either be spaced more appropriately (polling intervals get longer as time passes) or eliminated in favor of using a notification system, if possible.

Blueprint information

Status:
Complete
Approver:
Steve Baker
Priority:
Medium
Drafter:
None
Direction:
Approved
Assignee:
Jason Dunsmore
Definition:
Approved
Series goal:
Accepted for icehouse
Implementation:
Implemented
Milestone target:
milestone icon 2014.1
Started by
Jason Dunsmore
Completed by
Jason Dunsmore

Related branches

Sprints

Whiteboard

I've added some details about a proposed solution to the wiki for review:
https://wiki.openstack.org/wiki/Heat/Blueprints/ImproveAPIPolling

Gerrit topic: https://review.openstack.org/#q,topic:bp/improve-api-polling,n,z

Addressed by: https://review.openstack.org/71082
    Handle API limit exception in OS::Trove::Instance

Gerrit topic: https://review.openstack.org/#q,topic:handle-nova-500-error,n,z

Addressed by: https://review.openstack.org/71660
    Handle API limit exception in OS::Nova::Server

Addressed by: https://review.openstack.org/72008
    Move refresh_server() to nova_utils

Addressed by: https://review.openstack.org/72009
    Make server resources use nova_utils.refresh_server()

(?)

Work Items

Work items:
Add exception handling to resources so that rate limiting does not cause a stack failure: DONE

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.