Fix hack/test-cmd.sh test.

This commit is contained in:
Wojciech Tyczynski 2015-02-05 01:58:26 +01:00
parent ead67108ce
commit 524cdba101
6 changed files with 36 additions and 29 deletions

View File

@ -33,6 +33,7 @@ import (
"github.com/GoogleCloudPlatform/kubernetes/pkg/client" "github.com/GoogleCloudPlatform/kubernetes/pkg/client"
nodeControllerPkg "github.com/GoogleCloudPlatform/kubernetes/pkg/cloudprovider/controller" nodeControllerPkg "github.com/GoogleCloudPlatform/kubernetes/pkg/cloudprovider/controller"
"github.com/GoogleCloudPlatform/kubernetes/pkg/controller" "github.com/GoogleCloudPlatform/kubernetes/pkg/controller"
"github.com/GoogleCloudPlatform/kubernetes/pkg/kubelet/dockertools"
kubeletServer "github.com/GoogleCloudPlatform/kubernetes/pkg/kubelet/server" kubeletServer "github.com/GoogleCloudPlatform/kubernetes/pkg/kubelet/server"
"github.com/GoogleCloudPlatform/kubernetes/pkg/master" "github.com/GoogleCloudPlatform/kubernetes/pkg/master"
"github.com/GoogleCloudPlatform/kubernetes/pkg/master/ports" "github.com/GoogleCloudPlatform/kubernetes/pkg/master/ports"
@ -139,7 +140,7 @@ func startComponents(etcdClient tools.EtcdClient, cl *client.Client, addr net.IP
runScheduler(cl) runScheduler(cl)
runControllerManager(machineList, cl, *nodeMilliCPU, *nodeMemory) 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()) kubeletServer.SimpleRunKubelet(cl, nil, dockerClient, machineList[0], "/tmp/kubernetes", "", "127.0.0.1", 10250, *masterServiceNamespace, kubeletServer.ProbeVolumePlugins())
} }

View File

@ -55,6 +55,7 @@ kube::log::status "Starting kubelet in masterless mode"
"${KUBE_OUTPUT_HOSTBIN}/kubelet" \ "${KUBE_OUTPUT_HOSTBIN}/kubelet" \
--really_crash_for_testing=true \ --really_crash_for_testing=true \
--root_dir=/tmp/kubelet.$$ \ --root_dir=/tmp/kubelet.$$ \
--docker_endpoint="fake://" \
--address="127.0.0.1" \ --address="127.0.0.1" \
--port="$KUBELET_PORT" 1>&2 & --port="$KUBELET_PORT" 1>&2 &
KUBELET_PID=$! KUBELET_PID=$!
@ -65,6 +66,7 @@ kube::log::status "Starting kubelet in masterful mode"
"${KUBE_OUTPUT_HOSTBIN}/kubelet" \ "${KUBE_OUTPUT_HOSTBIN}/kubelet" \
--really_crash_for_testing=true \ --really_crash_for_testing=true \
--root_dir=/tmp/kubelet.$$ \ --root_dir=/tmp/kubelet.$$ \
--docker_endpoint="fake://" \
--etcd_servers="http://${ETCD_HOST}:${ETCD_PORT}" \ --etcd_servers="http://${ETCD_HOST}:${ETCD_PORT}" \
--hostname_override="127.0.0.1" \ --hostname_override="127.0.0.1" \
--address="127.0.0.1" \ --address="127.0.0.1" \

View File

@ -25,6 +25,7 @@ import (
"io" "io"
"io/ioutil" "io/ioutil"
"math/rand" "math/rand"
"os"
"os/exec" "os/exec"
"strconv" "strconv"
"strings" "strings"
@ -624,6 +625,34 @@ func parseImageName(image string) (string, string) {
return image, tag 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 { type ContainerCommandRunner interface {
RunInContainer(containerID string, cmd []string) ([]byte, error) RunInContainer(containerID string, cmd []string) ([]byte, error)
GetDockerServerVersion() ([]uint, error) GetDockerServerVersion() ([]uint, error)

View File

@ -115,7 +115,7 @@ func isValidDockerVersion(ver []uint) (bool, string) {
if ver[i] != minAllowedVersion[i] { if ver[i] != minAllowedVersion[i] {
if ver[i] < minAllowedVersion[i] { if ver[i] < minAllowedVersion[i] {
versions := make([]string, len(ver)) versions := make([]string, len(ver))
for i, v := range(ver) { for i, v := range ver {
versions[i] = fmt.Sprint(v) versions[i] = fmt.Sprint(v)
} }
return false, strings.Join(versions, ".") return false, strings.Join(versions, ".")
@ -139,7 +139,7 @@ func (s *Server) handleHealthz(w http.ResponseWriter, req *http.Request) {
w.WriteHeader(http.StatusInternalServerError) w.WriteHeader(http.StatusInternalServerError)
msg := "Docker version is too old (" + version + ")" msg := "Docker version is too old (" + version + ")"
w.Write([]byte(msg)) w.Write([]byte(msg))
return; return
} }
w.WriteHeader(http.StatusOK) w.WriteHeader(http.StatusOK)
w.Write([]byte("ok")) w.Write([]byte("ok"))

View File

@ -203,7 +203,7 @@ func (s *KubeletServer) Run(_ []string) error {
CAdvisorPort: s.CAdvisorPort, CAdvisorPort: s.CAdvisorPort,
EnableServer: s.EnableServer, EnableServer: s.EnableServer,
EnableDebuggingHandlers: s.EnableDebuggingHandlers, EnableDebuggingHandlers: s.EnableDebuggingHandlers,
DockerClient: util.ConnectToDockerOrDie(s.DockerEndpoint), DockerClient: dockertools.ConnectToDockerOrDie(s.DockerEndpoint),
KubeClient: client, KubeClient: client,
EtcdClient: kubelet.EtcdClientOrDie(s.EtcdServerList, s.EtcdConfigFile), EtcdClient: kubelet.EtcdClientOrDie(s.EtcdServerList, s.EtcdConfigFile),
MasterServiceNamespace: s.MasterServiceNamespace, MasterServiceNamespace: s.MasterServiceNamespace,

View File

@ -17,11 +17,9 @@ limitations under the License.
package util package util
import ( import (
"os"
"os/exec" "os/exec"
"strings" "strings"
"github.com/fsouza/go-dockerclient"
"github.com/golang/glog" "github.com/golang/glog"
) )
@ -38,26 +36,3 @@ func GetHostname(hostnameOverride string) string {
} }
return strings.TrimSpace(string(hostname)) 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
}