From 6303edb790519340b42aa29ae4e6c262484460c3 Mon Sep 17 00:00:00 2001 From: Euan Kemp Date: Thu, 9 Jun 2016 15:18:55 -0700 Subject: [PATCH] e2e_node: launch kubelet via systemd-run This more closely mimics what the kubelet will usually have for cgroups, and also fixes an issue with cgroup detection of it. Fixes #26431 --- test/e2e_node/e2e_service.go | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/test/e2e_node/e2e_service.go b/test/e2e_node/e2e_service.go index 6d4ffc98520..6dc99f1a635 100644 --- a/test/e2e_node/e2e_service.go +++ b/test/e2e_node/e2e_service.go @@ -206,7 +206,17 @@ func (es *e2eService) startKubeletServer() (*exec.Cmd, error) { return nil, err } es.kubeletStaticPodDir = dataDir - cmd := exec.Command("sudo", getKubeletServerBin(), + cmdArgs := []string{} + if systemdRun, err := exec.LookPath("systemd-run"); err == nil { + // On systemd services, detection of a service / unit works reliably while + // detection of a process started from an ssh session does not work. + // Since kubelet will typically be run as a service it also makes more + // sense to test it that way + cmdArgs = append(cmdArgs, systemdRun, getKubeletServerBin()) + } else { + cmdArgs = append(cmdArgs, getKubeletServerBin()) + } + cmdArgs = append(cmdArgs, "--api-servers", "http://127.0.0.1:8080", "--address", "0.0.0.0", "--port", "10250", @@ -218,6 +228,7 @@ func (es *e2eService) startKubeletServer() (*exec.Cmd, error) { "--file-check-frequency", "10s", // Check file frequently so tests won't wait too long "--v", "8", "--logtostderr", ) + cmd := exec.Command("sudo", cmdArgs...) hcc := newHealthCheckCommand( "http://127.0.0.1:10255/healthz", cmd,