Bug 1448267

Summary: When receive 429 info for stage candlepin, it will loop to show log "Trying again in 60" every 60s.
Product: Red Hat Enterprise Linux 7 Reporter: yuefliu <yuefliu>
Component: virt-whoAssignee: Chris Snyder <csnyder>
Status: CLOSED ERRATA QA Contact: Eko <hsun>
Severity: urgent Docs Contact:
Priority: high    
Version: 7.4CC: hsun, khowell, mstead, shihliu, yanpliu, yuefliu
Target Milestone: rcKeywords: Triaged
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-08-01 19:26:06 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Comment 3 Kevin Howell 2017-05-08 14:53:17 UTC
> - without oneshot option, virt-who should loop to restart with 60s, 120s and 180s, then send mapping info out successfully.

Where did this expectation come from?

Did this work as expected in a prior virt-who release?

Comment 4 yuefliu 2017-05-09 01:32:24 UTC
Yes, it worked as expected before virt-who-0.19, now 429 info makes virt-who keeping restart every 60s, cannot stop and send mapping info out, which have blocked all our automation test for stage candlepin.

Comment 5 Chris Snyder 2017-05-09 16:54:59 UTC
A couple of comments on the issues in this bug.

Regarding the issue of CTRL-C causing virt-who to loop without waiting, I believe that is an issue and it shall be fixed.

As the RFC below[1] specifies that the 429 response MAY or MAY NOT include the Retry-After header I propose the new behavior be as follows:

If the response includes Retry-After -> wait Retry-After seconds and try again
If the response does not include Retry-After -> wait 60s * number of failures for the given request. (So for the first failure wait 60s, for the second subsequent failure wait 120s, for the third subsequent failure wait 180s).


[1]: https://tools.ietf.org/html/rfc6585

Comment 6 Chris Snyder 2017-05-10 20:37:37 UTC
Attaching a PR with my proposed changes to solve this bug.

Comment 8 yuefliu 2017-06-08 08:15:14 UTC
Verified the bug with virt-who-0.19-5, it works as design to wait 60s and try again.

Comment 9 errata-xmlrpc 2017-08-01 19:26:06 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2017:2084