python bindings do not provide retry on rate limiting errors
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
| Glance Client |
Wishlist
|
Unassigned | ||
| python-cinderclient |
Wishlist
|
Yuriy Nesenenko | ||
| python-heatclient |
Triaged
|
Medium
|
Unassigned | |
| python-keystoneclient |
Wishlist
|
Unassigned | ||
| python-neutronclient |
Wishlist
|
Unassigned | ||
| python-novaclient |
Wishlist
|
Unassigned |
Bug Description
The openstack python bindings do not provide retries on rate limiting errors.
This is a missing feature rather than a bug.
It would be both useful for users as well as for tempest tests (see https:/
Giulio Fidente (gfidente) wrote : | #1 |
Andrea Frittoli (andrea-frittoli) wrote : | #2 |
I agree it shall honor "Retry-After" if available.
Changed in python-keystoneclient: | |
importance: | Undecided → Wishlist |
summary: |
- python bindings do not provide rerty on rate limiting errors + python bindings do not provide retry on rate limiting errors |
Changed in python-keystoneclient: | |
status: | New → Triaged |
Changed in python-novaclient: | |
status: | New → Confirmed |
importance: | Undecided → Medium |
Chmouel Boudjnah (chmouel) wrote : | #3 |
Planning to add that for python-heatclient as part of the rewrite to requests https:/
Changed in python-heatclient: | |
assignee: | nobody → Chmouel Boudjnah (chmouel) |
Changed in python-heatclient: | |
status: | New → Triaged |
importance: | Undecided → High |
milestone: | none → v0.2.8 |
Changed in python-cinderclient: | |
assignee: | nobody → venkata anil (anil-venkata) |
Changed in python-cinderclient: | |
status: | New → In Progress |
Fix proposed to branch: master
Review: https:/
Changed in python-cinderclient: | |
status: | In Progress → Fix Committed |
Changed in python-cinderclient: | |
status: | Fix Committed → In Progress |
venkata anil (anil-venkata) wrote : | #5 |
Committed the changes for cinderclient for review https:/
Changed in python-heatclient: | |
milestone: | v0.2.8 → v0.2.9 |
Changed in python-heatclient: | |
assignee: | Chmouel Boudjnah (chmouel) → nobody |
Changed in python-heatclient: | |
milestone: | v0.2.9 → none |
importance: | High → Medium |
Changed in python-glanceclient: | |
status: | New → Confirmed |
importance: | Undecided → Wishlist |
Changed in python-cinderclient: | |
assignee: | venkata anil (anil-venkata) → nobody |
Akihiro Motoki (amotoki) wrote : | #6 |
no activity for a long time ....
Changed in python-neutronclient: | |
status: | New → Confirmed |
importance: | Undecided → Wishlist |
Changed in python-cinderclient: | |
status: | In Progress → Fix Committed |
status: | Fix Committed → In Progress |
Changed in python-cinderclient: | |
importance: | Undecided → Wishlist |
Changed in python-cinderclient: | |
status: | In Progress → Confirmed |
assignee: | nobody → Sheel Rana (ranasheel2000) |
Changed in python-cinderclient: | |
assignee: | Sheel Rana (ranasheel2000) → Yuriy Nesenenko (ynesenenko) |
OpenStack Infra (hudson-openstack) wrote : | #7 |
Fix proposed to branch: master
Review: https:/
Changed in python-cinderclient: | |
status: | Confirmed → In Progress |
Reviewed: https:/
Committed: https:/
Submitter: Jenkins
Branch: master
commit f8eef18297ec2db
Author: Yuriy Nesenenko <email address hidden>
Date: Wed Jun 22 17:36:49 2016 +0300
Cinder client should retry with Retry-After value
If a request fails but the response contains a "Retry-After",
the cinder client should wait the amount of time and then retry.
Cinder client should report a warning to user and continue with
retry, so that user can cancel the operation if not interested
in retry. The value in "Retry-After" header will be in seconds
or GMT value, client should handle both the cases.
How many times client should retry will be controlled by user
through "--retries" argument to cinder api example,
$ cinder --retries 3 availability-
If request was not sucessful within the retries, client should
raise the exception.
Change-Id: I99af957bfbbe3a
Partial-Bug: #1263069
Changed in python-neutronclient: | |
assignee: | nobody → lilintan (lilintan) |
Sean McGinnis (sean-mcginnis) wrote : | #9 |
Change committed to cinderclient. It was marked as Partial, but I don't see what else needs to be done here. Please reopen if additional work is planned.
Changed in python-cinderclient: | |
status: | In Progress → Fix Released |
Changed in python-novaclient: | |
assignee: | nobody → Spencer Yu (yushb) |
Fix proposed to branch: master
Review: https:/
Changed in python-novaclient: | |
status: | Confirmed → In Progress |
Akihiro Motoki (amotoki) wrote : | #11 |
Currently most python bindings use keystoneauth Session as a backend, so it sounds good to start adding a support of retry-after in keystoneauth library. After that, individual python bindings can expose some parameter to control the number of retries to users.
Changed in python-neutronclient: | |
assignee: | lilintan (lilintan) → nobody |
Changed in python-novaclient: | |
assignee: | Spencer Yu (yushb) → Jeremy Liu (liujiong) |
Changed in python-novaclient: | |
assignee: | Jeremy Liu (liujiong) → Spencer Yu (yushb) |
Changed in python-novaclient: | |
assignee: | Spencer Yu (yushb) → Jeremy Liu (liujiong) |
Changed in python-novaclient: | |
assignee: | Jeremy Liu (liujiong) → Spencer Yu (yushb) |
Change abandoned by Matt Riedemann (<email address hidden>) on branch: master
Review: https:/
Changed in python-novaclient: | |
status: | In Progress → Confirmed |
assignee: | Spencer Yu (yushb) → nobody |
importance: | Medium → Wishlist |
Morgan Fainberg (mdrnstm) wrote : | #13 |
This could be integrated in keystoneauth (and has been proposed as such). Marking as invalid for keystoneclient/wont fix.
Changed in python-keystoneclient: | |
status: | Triaged → Won't Fix |
I'm personally not sure how useful would this be, it seems to go against the purpose of the limits. Yet if it gets implemented maybe the clients should honor the "Retry-After" passed by the server?