Merge pull request #5120 from dchen1107/docker

monit health check kubelet and restart unhealthy one
pull/6/head
Victor Marmol 2015-03-05 17:39:03 -08:00
commit 79f2773745
3 changed files with 8 additions and 5 deletions

View File

@ -3,4 +3,7 @@ group kubelet
start program = "/etc/init.d/kubelet start"
stop program = "/etc/init.d/kubelet stop"
if does not exist then restart
if failed port 10250
protocol HTTP request "/healthz"
with timeout 10 seconds
then restart

View File

@ -166,7 +166,7 @@ func (s *Server) handleHealthz(w http.ResponseWriter, req *http.Request) {
// Check that the hostname known by the master matches the hostname
// the kubelet knows
hostname := s.host.GetHostname()
if masterHostname != hostname {
if masterHostname != hostname && masterHostname != "127.0.0.1" && masterHostname != "localhost" {
s.error(w, errors.New("Kubelet hostname \""+hostname+"\" does not match the hostname expected by the master \""+masterHostname+"\""))
return
}

View File

@ -483,8 +483,8 @@ func TestHealthCheck(t *testing.T) {
t.Fatalf("Got error GETing: %v", err)
}
defer resp.Body.Close()
if resp.StatusCode != http.StatusInternalServerError {
t.Errorf("expected status code %d, got %d", http.StatusInternalServerError, resp.StatusCode)
if resp.StatusCode != http.StatusOK {
t.Errorf("expected status code %d, got %d", http.StatusOK, resp.StatusCode)
}
//Test with old docker version
@ -498,7 +498,7 @@ func TestHealthCheck(t *testing.T) {
}
defer resp.Body.Close()
if resp.StatusCode != http.StatusInternalServerError {
t.Errorf("expected status code %d, got %d", http.StatusOK, resp.StatusCode)
t.Errorf("expected status code %d, got %d", http.StatusInternalServerError, resp.StatusCode)
}
}