return response StatusCode when http probe fail

pull/6/head
jiangyaoguo 2015-11-20 17:34:48 +08:00
parent 315b9000e2
commit cbbb3f7af0
2 changed files with 7 additions and 3 deletions

View File

@ -18,6 +18,7 @@ package http
import ( import (
"crypto/tls" "crypto/tls"
"fmt"
"io/ioutil" "io/ioutil"
"net/http" "net/http"
"net/url" "net/url"
@ -72,5 +73,5 @@ func DoHTTPProbe(url *url.URL, client HTTPGetInterface) (probe.Result, string, e
return probe.Success, body, nil return probe.Success, body, nil
} }
glog.V(4).Infof("Probe failed for %s, Response: %v", url.String(), *res) glog.V(4).Infof("Probe failed for %s, Response: %v", url.String(), *res)
return probe.Failure, body, nil return probe.Failure, fmt.Sprintf("HTTP probe failed with statuscode: %d", res.StatusCode), nil
} }

View File

@ -17,6 +17,7 @@ limitations under the License.
package http package http
import ( import (
"fmt"
"net" "net"
"net/http" "net/http"
"net/http/httptest" "net/http/httptest"
@ -29,6 +30,8 @@ import (
"k8s.io/kubernetes/pkg/probe" "k8s.io/kubernetes/pkg/probe"
) )
const FailureCode int = -1
func containsAny(s string, substrs []string) bool { func containsAny(s string, substrs []string) bool {
for _, substr := range substrs { for _, substr := range substrs {
if strings.Contains(s, substr) { if strings.Contains(s, substr) {
@ -61,9 +64,9 @@ func TestHTTPProbeChecker(t *testing.T) {
[]string{"ok body"}, []string{"ok body"},
}, },
{ {
handleReq(-1, "fail body"), handleReq(FailureCode, "fail body"),
probe.Failure, probe.Failure,
[]string{"fail body"}, []string{fmt.Sprintf("HTTP probe failed with statuscode: %d", FailureCode)},
}, },
{ {
func(w http.ResponseWriter) { func(w http.ResponseWriter) {