From 33c894a6ae1a9aba51bd725e2176759206e7f0ec Mon Sep 17 00:00:00 2001 From: gmarek Date: Wed, 19 Aug 2015 13:20:33 +0200 Subject: [PATCH] Remove unused (?) HealthCheck from KubeletClient --- cmd/integration/integration.go | 5 -- pkg/client/unversioned/kubelet.go | 34 ------------- pkg/client/unversioned/kubelet_test.go | 67 +------------------------- test/e2e/proxy.go | 1 + 4 files changed, 2 insertions(+), 105 deletions(-) diff --git a/cmd/integration/integration.go b/cmd/integration/integration.go index 7cc9baab58a..b9cf3193f35 100644 --- a/cmd/integration/integration.go +++ b/cmd/integration/integration.go @@ -52,7 +52,6 @@ import ( "k8s.io/kubernetes/pkg/kubelet/dockertools" "k8s.io/kubernetes/pkg/labels" "k8s.io/kubernetes/pkg/master" - "k8s.io/kubernetes/pkg/probe" "k8s.io/kubernetes/pkg/tools/etcdtest" "k8s.io/kubernetes/pkg/util" "k8s.io/kubernetes/pkg/util/wait" @@ -82,10 +81,6 @@ func (fakeKubeletClient) GetConnectionInfo(host string) (string, uint, http.Roun return "", 0, nil, errors.New("Not Implemented") } -func (fakeKubeletClient) HealthCheck(host string) (probe.Result, string, error) { - return probe.Success, "", nil -} - type delegateHandler struct { delegate http.Handler } diff --git a/pkg/client/unversioned/kubelet.go b/pkg/client/unversioned/kubelet.go index dee03fcd498..004f3b192f5 100644 --- a/pkg/client/unversioned/kubelet.go +++ b/pkg/client/unversioned/kubelet.go @@ -18,26 +18,14 @@ package unversioned import ( "errors" - "net" "net/http" - "net/url" - "strconv" - - "k8s.io/kubernetes/pkg/probe" - httprobe "k8s.io/kubernetes/pkg/probe/http" ) // KubeletClient is an interface for all kubelet functionality type KubeletClient interface { - KubeletHealthChecker ConnectionInfoGetter } -// KubeletHealthchecker is an interface for healthchecking kubelets -type KubeletHealthChecker interface { - HealthCheck(host string) (result probe.Result, output string, err error) -} - type ConnectionInfoGetter interface { GetConnectionInfo(host string) (scheme string, port uint, transport http.RoundTripper, err error) } @@ -94,33 +82,11 @@ func (c *HTTPKubeletClient) GetConnectionInfo(host string) (string, uint, http.R return scheme, c.Config.Port, c.Client.Transport, nil } -func (c *HTTPKubeletClient) url(host, path, query string) *url.URL { - scheme := "http" - if c.Config.EnableHttps { - scheme = "https" - } - - return &url.URL{ - Scheme: scheme, - Host: net.JoinHostPort(host, strconv.FormatUint(uint64(c.Config.Port), 10)), - Path: path, - RawQuery: query, - } -} - -func (c *HTTPKubeletClient) HealthCheck(host string) (probe.Result, string, error) { - return httprobe.DoHTTPProbe(c.url(host, "/healthz", ""), c.Client) -} - // FakeKubeletClient is a fake implementation of KubeletClient which returns an error // when called. It is useful to pass to the master in a test configuration with // no kubelets. type FakeKubeletClient struct{} -func (c FakeKubeletClient) HealthCheck(host string) (probe.Result, string, error) { - return probe.Unknown, "", errors.New("Not Implemented") -} - func (c FakeKubeletClient) GetConnectionInfo(host string) (string, uint, http.RoundTripper, error) { return "", 0, nil, errors.New("Not Implemented") } diff --git a/pkg/client/unversioned/kubelet_test.go b/pkg/client/unversioned/kubelet_test.go index f4d2456ae1a..8b3b255837b 100644 --- a/pkg/client/unversioned/kubelet_test.go +++ b/pkg/client/unversioned/kubelet_test.go @@ -18,11 +18,8 @@ package unversioned import ( "encoding/json" - "net/http" "net/http/httptest" "net/url" - "strconv" - "strings" "testing" "k8s.io/kubernetes/pkg/probe" @@ -43,65 +40,14 @@ func TestHTTPKubeletClient(t *testing.T) { testServer := httptest.NewServer(&fakeHandler) defer testServer.Close() - hostURL, err := url.Parse(testServer.URL) + _, err = url.Parse(testServer.URL) if err != nil { t.Errorf("unexpected error: %v", err) } - - parts := strings.Split(hostURL.Host, ":") - - port, err := strconv.Atoi(parts[1]) - if err != nil { - t.Errorf("unexpected error: %v", err) - } - - c := &HTTPKubeletClient{ - Client: http.DefaultClient, - Config: &KubeletConfig{Port: uint(port)}, - } - gotObj, _, err := c.HealthCheck(parts[0]) - if err != nil { - t.Errorf("unexpected error: %v", err) - } - if gotObj != expectObj { - t.Errorf("expected: %#v, got %#v", expectObj, gotObj) - } -} - -func TestHTTPKubeletClientError(t *testing.T) { - expectObj := probe.Failure - fakeHandler := util.FakeHandler{ - StatusCode: 500, - ResponseBody: "Internal server error", - } - testServer := httptest.NewServer(&fakeHandler) - defer testServer.Close() - - hostURL, err := url.Parse(testServer.URL) - if err != nil { - t.Errorf("unexpected error: %v", err) - } - - parts := strings.Split(hostURL.Host, ":") - - port, err := strconv.Atoi(parts[1]) - if err != nil { - t.Errorf("unexpected error: %v", err) - } - - c := &HTTPKubeletClient{ - Client: http.DefaultClient, - Config: &KubeletConfig{Port: uint(port)}, - } - gotObj, _, err := c.HealthCheck(parts[0]) - if gotObj != expectObj { - t.Errorf("expected: %#v, got %#v", expectObj, gotObj) - } } func TestNewKubeletClient(t *testing.T) { config := &KubeletConfig{ - Port: 9000, EnableHttps: false, } @@ -112,20 +58,10 @@ func TestNewKubeletClient(t *testing.T) { if client == nil { t.Error("client is nil.") } - - host := "127.0.0.1" - healthStatus, _, err := client.HealthCheck(host) - if healthStatus != probe.Failure { - t.Errorf("Expected %v and got %v.", probe.Failure, healthStatus) - } - if err != nil { - t.Error("Expected a nil error") - } } func TestNewKubeletClientTLSInvalid(t *testing.T) { config := &KubeletConfig{ - Port: 9000, EnableHttps: true, //Invalid certificate and key path TLSClientConfig: TLSClientConfig{ @@ -146,7 +82,6 @@ func TestNewKubeletClientTLSInvalid(t *testing.T) { func TestNewKubeletClientTLSValid(t *testing.T) { config := &KubeletConfig{ - Port: 9000, EnableHttps: true, TLSClientConfig: TLSClientConfig{ CertFile: "../testdata/mycertvalid.cer", diff --git a/test/e2e/proxy.go b/test/e2e/proxy.go index 80f28d6adc7..3e0ac808876 100644 --- a/test/e2e/proxy.go +++ b/test/e2e/proxy.go @@ -52,6 +52,7 @@ func proxyContext(version string) { f := NewFramework("proxy") prefix := "/api/" + version + // Port here has to be kept in sync with default kubelet port. It("should proxy logs on node with explicit kubelet port", func() { nodeProxyTest(f, version, ":10250/logs/") }) It("should proxy logs on node", func() { nodeProxyTest(f, version, "/logs/") })