mirror of https://github.com/k3s-io/k3s
Merge pull request #31356 from jfrazelle/29227-fix-e2e-http-request-flake
Automatic merge from submit-queue test/e2e: fix flake in kubelet expose should create services for rc <!-- Thanks for sending a pull request! Here are some tips for you: 1. If this is your first time, read our contributor guidelines https://github.com/kubernetes/kubernetes/blob/master/CONTRIBUTING.md and developer guide https://github.com/kubernetes/kubernetes/blob/master/docs/devel/development.md 2. If you want *faster* PR reviews, read how: https://github.com/kubernetes/kubernetes/blob/master/docs/devel/faster_reviews.md 3. Follow the instructions for writing a release note: https://github.com/kubernetes/kubernetes/blob/master/docs/devel/pull-requests.md#release-notes --> **What this PR does / why we need it**: **Which issue this PR fixes** *(optional, in `fixes #<issue number>(, #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes # **Special notes for your reviewer**: **Release note**: <!-- Steps to write your release note: 1. Use the release-note-* labels to set the release note state (if you have access) 2. Enter your extended release note in the below block; leaving it blank means using the PR title as the release note. If no release note is required, just write `NONE`. --> ```release-note NONE ``` Add a loop to retry the request to account for the TLS Timeout and API credential error responses outlined by the flakes in #29227. Fixes #29227pull/6/head
commit
c337778803
|
@ -676,10 +676,15 @@ var _ = framework.KubeDescribe("Kubectl client", func() {
|
|||
err := wait.Poll(framework.Poll, timeout, func() (bool, error) {
|
||||
endpoints, err := c.Endpoints(ns).Get(name)
|
||||
if err != nil {
|
||||
if apierrs.IsNotFound(err) {
|
||||
// log the real error
|
||||
framework.Logf("Get endpoints failed (interval %v): %v", framework.Poll, err)
|
||||
|
||||
// if the error is API not found or could not find default credentials or TLS handshake timeout, try again
|
||||
if apierrs.IsNotFound(err) ||
|
||||
apierrs.IsUnauthorized(err) ||
|
||||
apierrs.IsServerTimeout(err) {
|
||||
err = nil
|
||||
}
|
||||
framework.Logf("Get endpoints failed (interval %v): %v", framework.Poll, err)
|
||||
return false, err
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue