From 524cdba1011b346df989459265e8b4105ccda156 Mon Sep 17 00:00:00 2001 From: Wojciech Tyczynski Date: Thu, 5 Feb 2015 01:58:26 +0100 Subject: [PATCH] Fix hack/test-cmd.sh test. --- cmd/kubernetes/kubernetes.go | 3 ++- hack/test-cmd.sh | 2 ++ pkg/kubelet/dockertools/docker.go | 29 +++++++++++++++++++++++++++++ pkg/kubelet/server.go | 4 ++-- pkg/kubelet/server/server.go | 2 +- pkg/util/node.go | 25 ------------------------- 6 files changed, 36 insertions(+), 29 deletions(-) diff --git a/cmd/kubernetes/kubernetes.go b/cmd/kubernetes/kubernetes.go index 9eb08284f56..e01fabd565e 100644 --- a/cmd/kubernetes/kubernetes.go +++ b/cmd/kubernetes/kubernetes.go @@ -33,6 +33,7 @@ import ( "github.com/GoogleCloudPlatform/kubernetes/pkg/client" nodeControllerPkg "github.com/GoogleCloudPlatform/kubernetes/pkg/cloudprovider/controller" "github.com/GoogleCloudPlatform/kubernetes/pkg/controller" + "github.com/GoogleCloudPlatform/kubernetes/pkg/kubelet/dockertools" kubeletServer "github.com/GoogleCloudPlatform/kubernetes/pkg/kubelet/server" "github.com/GoogleCloudPlatform/kubernetes/pkg/master" "github.com/GoogleCloudPlatform/kubernetes/pkg/master/ports" @@ -139,7 +140,7 @@ func startComponents(etcdClient tools.EtcdClient, cl *client.Client, addr net.IP runScheduler(cl) runControllerManager(machineList, cl, *nodeMilliCPU, *nodeMemory) - dockerClient := util.ConnectToDockerOrDie(*dockerEndpoint) + dockerClient := dockertools.ConnectToDockerOrDie(*dockerEndpoint) kubeletServer.SimpleRunKubelet(cl, nil, dockerClient, machineList[0], "/tmp/kubernetes", "", "127.0.0.1", 10250, *masterServiceNamespace, kubeletServer.ProbeVolumePlugins()) } diff --git a/hack/test-cmd.sh b/hack/test-cmd.sh index 5d48dcaa10b..2fd73970294 100755 --- a/hack/test-cmd.sh +++ b/hack/test-cmd.sh @@ -55,6 +55,7 @@ kube::log::status "Starting kubelet in masterless mode" "${KUBE_OUTPUT_HOSTBIN}/kubelet" \ --really_crash_for_testing=true \ --root_dir=/tmp/kubelet.$$ \ + --docker_endpoint="fake://" \ --address="127.0.0.1" \ --port="$KUBELET_PORT" 1>&2 & KUBELET_PID=$! @@ -65,6 +66,7 @@ kube::log::status "Starting kubelet in masterful mode" "${KUBE_OUTPUT_HOSTBIN}/kubelet" \ --really_crash_for_testing=true \ --root_dir=/tmp/kubelet.$$ \ + --docker_endpoint="fake://" \ --etcd_servers="http://${ETCD_HOST}:${ETCD_PORT}" \ --hostname_override="127.0.0.1" \ --address="127.0.0.1" \ diff --git a/pkg/kubelet/dockertools/docker.go b/pkg/kubelet/dockertools/docker.go index 04115703c9d..dfe822fab19 100644 --- a/pkg/kubelet/dockertools/docker.go +++ b/pkg/kubelet/dockertools/docker.go @@ -25,6 +25,7 @@ import ( "io" "io/ioutil" "math/rand" + "os" "os/exec" "strconv" "strings" @@ -624,6 +625,34 @@ func parseImageName(image string) (string, string) { return image, tag } +// Get a docker endpoint, either from the string passed in, or $DOCKER_HOST environment variables +func getDockerEndpoint(dockerEndpoint string) string { + var endpoint string + if len(dockerEndpoint) > 0 { + endpoint = dockerEndpoint + } else if len(os.Getenv("DOCKER_HOST")) > 0 { + endpoint = os.Getenv("DOCKER_HOST") + } else { + endpoint = "unix:///var/run/docker.sock" + } + glog.Infof("Connecting to docker on %s", endpoint) + + return endpoint +} + +func ConnectToDockerOrDie(dockerEndpoint string) DockerInterface { + if dockerEndpoint == "fake://" { + return &FakeDockerClient{ + VersionInfo: []string{"apiVersion=1.16"}, + } + } + client, err := docker.NewClient(getDockerEndpoint(dockerEndpoint)) + if err != nil { + glog.Fatal("Couldn't connect to docker.") + } + return client +} + type ContainerCommandRunner interface { RunInContainer(containerID string, cmd []string) ([]byte, error) GetDockerServerVersion() ([]uint, error) diff --git a/pkg/kubelet/server.go b/pkg/kubelet/server.go index 6ac65dc280f..b6c7378ea45 100644 --- a/pkg/kubelet/server.go +++ b/pkg/kubelet/server.go @@ -115,7 +115,7 @@ func isValidDockerVersion(ver []uint) (bool, string) { if ver[i] != minAllowedVersion[i] { if ver[i] < minAllowedVersion[i] { versions := make([]string, len(ver)) - for i, v := range(ver) { + for i, v := range ver { versions[i] = fmt.Sprint(v) } return false, strings.Join(versions, ".") @@ -139,7 +139,7 @@ func (s *Server) handleHealthz(w http.ResponseWriter, req *http.Request) { w.WriteHeader(http.StatusInternalServerError) msg := "Docker version is too old (" + version + ")" w.Write([]byte(msg)) - return; + return } w.WriteHeader(http.StatusOK) w.Write([]byte("ok")) diff --git a/pkg/kubelet/server/server.go b/pkg/kubelet/server/server.go index 943e6da99c0..13860d6ad8e 100644 --- a/pkg/kubelet/server/server.go +++ b/pkg/kubelet/server/server.go @@ -203,7 +203,7 @@ func (s *KubeletServer) Run(_ []string) error { CAdvisorPort: s.CAdvisorPort, EnableServer: s.EnableServer, EnableDebuggingHandlers: s.EnableDebuggingHandlers, - DockerClient: util.ConnectToDockerOrDie(s.DockerEndpoint), + DockerClient: dockertools.ConnectToDockerOrDie(s.DockerEndpoint), KubeClient: client, EtcdClient: kubelet.EtcdClientOrDie(s.EtcdServerList, s.EtcdConfigFile), MasterServiceNamespace: s.MasterServiceNamespace, diff --git a/pkg/util/node.go b/pkg/util/node.go index e427394b166..4db7ae99772 100644 --- a/pkg/util/node.go +++ b/pkg/util/node.go @@ -17,11 +17,9 @@ limitations under the License. package util import ( - "os" "os/exec" "strings" - "github.com/fsouza/go-dockerclient" "github.com/golang/glog" ) @@ -38,26 +36,3 @@ func GetHostname(hostnameOverride string) string { } return strings.TrimSpace(string(hostname)) } - -// Get a docker endpoint, either from the string passed in, or $DOCKER_HOST environment variables -func GetDockerEndpoint(dockerEndpoint string) string { - var endpoint string - if len(dockerEndpoint) > 0 { - endpoint = dockerEndpoint - } else if len(os.Getenv("DOCKER_HOST")) > 0 { - endpoint = os.Getenv("DOCKER_HOST") - } else { - endpoint = "unix:///var/run/docker.sock" - } - glog.Infof("Connecting to docker on %s", endpoint) - - return endpoint -} - -func ConnectToDockerOrDie(dockerEndpoint string) *docker.Client { - client, err := docker.NewClient(GetDockerEndpoint(dockerEndpoint)) - if err != nil { - glog.Fatal("Couldn't connect to docker.") - } - return client -}