Improve API polling
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:
- 2014.1
- Started by
- Jason Dunsmore
- Completed by
- Jason Dunsmore
Related branches
Related bugs
Sprints
Whiteboard
I've added some details about a proposed solution to the wiki for review:
https:/
Gerrit topic: https:/
Addressed by: https:/
Handle API limit exception in OS::Trove::Instance
Gerrit topic: https:/
Addressed by: https:/
Handle API limit exception in OS::Nova::Server
Addressed by: https:/
Move refresh_server() to nova_utils
Addressed by: https:/
Make server resources use nova_utils.
Work Items
Work items:
Add exception handling to resources so that rate limiting does not cause a stack failure: DONE