mirror of
				https://github.com/optim-enterprises-bv/kubernetes.git
				synced 2025-10-31 18:28:13 +00:00 
			
		
		
		
	Merge pull request #103967 from pacoxu/probe-warning
add probe warning message body for terminated redirect
This commit is contained in:
		| @@ -129,7 +129,7 @@ func DoHTTPProbe(url *url.URL, headers http.Header, client GetHTTPInterface) (pr | ||||
| 	if res.StatusCode >= http.StatusOK && res.StatusCode < http.StatusBadRequest { | ||||
| 		if res.StatusCode >= http.StatusMultipleChoices { // Redirect | ||||
| 			klog.V(4).Infof("Probe terminated redirects for %s, Response: %v", url.String(), *res) | ||||
| 			return probe.Warning, body, nil | ||||
| 			return probe.Warning, fmt.Sprintf("Probe terminated redirects, Response body: %v", body), nil | ||||
| 		} | ||||
| 		klog.V(4).Infof("Probe succeeded for %s, Response: %v", url.String(), *res) | ||||
| 		return probe.Success, body, nil | ||||
|   | ||||
| @@ -139,6 +139,17 @@ func TestHTTPProbeChecker(t *testing.T) { | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| 	redirectHandlerWithBody := func(s int, body string) func(w http.ResponseWriter, r *http.Request) { | ||||
| 		return func(w http.ResponseWriter, r *http.Request) { | ||||
| 			if r.URL.Path == "/" { | ||||
| 				http.Redirect(w, r, "/new", s) | ||||
| 			} else if r.URL.Path == "/new" { | ||||
| 				w.WriteHeader(s) | ||||
| 				w.Write([]byte(body)) | ||||
| 			} | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| 	followNonLocalRedirects := true | ||||
| 	prober := New(followNonLocalRedirects) | ||||
| 	testCases := []struct { | ||||
| @@ -336,6 +347,16 @@ func TestHTTPProbeChecker(t *testing.T) { | ||||
| 			handler: redirectHandler(http.StatusPermanentRedirect, true), // 308 | ||||
| 			health:  probe.Failure, | ||||
| 		}, | ||||
| 		{ | ||||
| 			handler: redirectHandlerWithBody(http.StatusPermanentRedirect, ""), // redirect with empty body | ||||
| 			health:  probe.Warning, | ||||
| 			accBody: "Probe terminated redirects, Response body:", | ||||
| 		}, | ||||
| 		{ | ||||
| 			handler: redirectHandlerWithBody(http.StatusPermanentRedirect, "ok body"), // redirect with body | ||||
| 			health:  probe.Warning, | ||||
| 			accBody: "Probe terminated redirects, Response body: ok body", | ||||
| 		}, | ||||
| 	} | ||||
| 	for i, test := range testCases { | ||||
| 		t.Run(fmt.Sprintf("case-%2d", i), func(t *testing.T) { | ||||
|   | ||||
| @@ -310,7 +310,7 @@ var _ = SIGDescribe("Probing container", func() { | ||||
| 			"reason":                   events.ContainerProbeWarning, | ||||
| 		}.AsSelector().String() | ||||
| 		framework.ExpectNoError(e2eevents.WaitTimeoutForEvent( | ||||
| 			f.ClientSet, f.Namespace.Name, expectedEvent, "0.0.0.0", framework.PodEventTimeout)) | ||||
| 			f.ClientSet, f.Namespace.Name, expectedEvent, "Probe terminated redirects, Response body: <a href=\"http://0.0.0.0/\">Found</a>.", framework.PodEventTimeout)) | ||||
| 	}) | ||||
|  | ||||
| 	/* | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Kubernetes Prow Robot
					Kubernetes Prow Robot