From bd12cfea69071429bc9c15dba1cfdd8765fca8d1 Mon Sep 17 00:00:00 2001 From: Clayton Coleman Date: Sun, 22 Mar 2015 23:02:18 -0400 Subject: [PATCH] Integration tests should do a faster status sync loop --- cmd/integration/integration.go | 8 ++++++-- cmd/kubelet/app/server.go | 6 +++--- cmd/kubernetes/kubernetes.go | 3 ++- 3 files changed, 11 insertions(+), 6 deletions(-) diff --git a/cmd/integration/integration.go b/cmd/integration/integration.go index ab8b5902bd4..2c4ab43fcef 100644 --- a/cmd/integration/integration.go +++ b/cmd/integration/integration.go @@ -222,13 +222,17 @@ func startComponents(manifestURL, apiVersion string) (string, string) { testRootDir := makeTempDirOrDie("kubelet_integ_1.", "") configFilePath := makeTempDirOrDie("config", testRootDir) glog.Infof("Using %s as root dir for kubelet #1", testRootDir) - kubeletapp.SimpleRunKubelet(cl, &fakeDocker1, machineList[0], testRootDir, manifestURL, "127.0.0.1", 10250, api.NamespaceDefault, empty_dir.ProbeVolumePlugins(), nil, cadvisorInterface, configFilePath) + kcfg := kubeletapp.SimpleKubelet(cl, &fakeDocker1, machineList[0], testRootDir, manifestURL, "127.0.0.1", 10250, api.NamespaceDefault, empty_dir.ProbeVolumePlugins(), nil, cadvisorInterface, configFilePath) + kcfg.PodStatusUpdateFrequency = 1 * time.Second + kubeletapp.RunKubelet(kcfg) // Kubelet (machine) // Create a second kubelet so that the guestbook example's two redis slaves both // have a place they can schedule. testRootDir = makeTempDirOrDie("kubelet_integ_2.", "") glog.Infof("Using %s as root dir for kubelet #2", testRootDir) - kubeletapp.SimpleRunKubelet(cl, &fakeDocker2, machineList[1], testRootDir, "", "127.0.0.1", 10251, api.NamespaceDefault, empty_dir.ProbeVolumePlugins(), nil, cadvisorInterface, "") + kcfg = kubeletapp.SimpleKubelet(cl, &fakeDocker2, machineList[1], testRootDir, "", "127.0.0.1", 10251, api.NamespaceDefault, empty_dir.ProbeVolumePlugins(), nil, cadvisorInterface, "") + kcfg.PodStatusUpdateFrequency = 1 * time.Second + kubeletapp.RunKubelet(kcfg) return apiServer.URL, configFilePath } diff --git a/cmd/kubelet/app/server.go b/cmd/kubelet/app/server.go index eea87e9db90..a5f17d7a745 100644 --- a/cmd/kubelet/app/server.go +++ b/cmd/kubelet/app/server.go @@ -262,7 +262,7 @@ func (s *KubeletServer) createAPIServerClient() (*client.Client, error) { // SimpleRunKubelet is a simple way to start a Kubelet talking to dockerEndpoint, using an API Client. // Under the hood it calls RunKubelet (below) -func SimpleRunKubelet(client *client.Client, +func SimpleKubelet(client *client.Client, dockerClient dockertools.DockerInterface, hostname, rootDir, manifestURL, address string, port uint, @@ -270,7 +270,7 @@ func SimpleRunKubelet(client *client.Client, volumePlugins []volume.VolumePlugin, tlsOptions *kubelet.TLSOptions, cadvisorInterface cadvisor.Interface, - configFilePath string) { + configFilePath string) *KubeletConfig { imageGCPolicy := kubelet.ImageGCPolicy{ HighThresholdPercent: 90, @@ -302,7 +302,7 @@ func SimpleRunKubelet(client *client.Client, ConfigFile: configFilePath, ImageGCPolicy: imageGCPolicy, } - RunKubelet(&kcfg) + return &kcfg } // RunKubelet is responsible for setting up and running a kubelet. It is used in three different applications: diff --git a/cmd/kubernetes/kubernetes.go b/cmd/kubernetes/kubernetes.go index 443c78a5300..286d1bdd1bb 100644 --- a/cmd/kubernetes/kubernetes.go +++ b/cmd/kubernetes/kubernetes.go @@ -150,7 +150,8 @@ func startComponents(etcdClient tools.EtcdClient, cl *client.Client, addr net.IP if err != nil { glog.Fatalf("Failed to create cAdvisor: %v", err) } - kubeletapp.SimpleRunKubelet(cl, dockerClient, machineList[0], "/tmp/kubernetes", "", "127.0.0.1", 10250, *masterServiceNamespace, kubeletapp.ProbeVolumePlugins(), nil, cadvisorInterface, "") + kcfg := kubeletapp.SimpleKubelet(cl, dockerClient, machineList[0], "/tmp/kubernetes", "", "127.0.0.1", 10250, *masterServiceNamespace, kubeletapp.ProbeVolumePlugins(), nil, cadvisorInterface, "") + kubeletapp.RunKubelet(kcfg) } func newApiClient(addr net.IP, port int) *client.Client {