From f22108f2a44e171d3516d10bbd1b1bf862248cf3 Mon Sep 17 00:00:00 2001 From: Tom Wieczorek Date: Mon, 18 Sep 2023 08:30:08 +0200 Subject: [PATCH] Change kubelet args passed in CLI inttest The randomly selected kubelet arguments used in the CLI inttest lead to kubelet crash-looping on 6.x kernels (observed on 6.1 and 6.2), whereas they worked just fine on 5.15 kernels. Since GitHub updated the kernels of its Ubuntu managed GitHub action runners from 5.15 to 6.2 a few days ago, the CLI test started to fail constantly. Select some other flags that won't induce a crash-loop for the test. Also make a slight improvement to the command line assertion: Check for whole args instead of substrings, and use the right testing.T pointer to report failures on. Signed-off-by: Tom Wieczorek --- inttest/cli/cli_test.go | 8 ++++---- inttest/common/footloosesuite.go | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/inttest/cli/cli_test.go b/inttest/cli/cli_test.go index 102179241418..64c151239257 100644 --- a/inttest/cli/cli_test.go +++ b/inttest/cli/cli_test.go @@ -73,7 +73,7 @@ func (s *CliSuite) TestK0sCliKubectlAndResetCommand() { s.T().Run("k0sInstall", func(t *testing.T) { // Install with some arbitrary kubelet flags so we see those get properly passed to the kubelet - out, err := ssh.ExecWithOutput(s.Context(), "/usr/local/bin/k0s install controller --enable-worker --disable-components konnectivity-server,metrics-server --kubelet-extra-args='--event-qps=7 --enable-load-reader=true'") + out, err := ssh.ExecWithOutput(s.Context(), "/usr/local/bin/k0s install controller --enable-worker --disable-components konnectivity-server,metrics-server --kubelet-extra-args='--housekeeping-interval=10s --log-flush-frequency=5s'") assert.NoError(t, err) assert.Equal(t, "", out) }) @@ -114,9 +114,9 @@ func (s *CliSuite) TestK0sCliKubectlAndResetCommand() { // Check that the kubelet extra flags are properly set kubeletCmdLine, err := s.GetKubeletCMDLine(s.ControllerNode(0)) - s.Require().NoError(err) - s.Require().Contains(kubeletCmdLine, "--event-qps=7") - s.Require().Contains(kubeletCmdLine, "--enable-load-reader=true") + require.NoError(err) + assert.Contains(kubeletCmdLine, "--housekeeping-interval=10s") + assert.Contains(kubeletCmdLine, "--log-flush-frequency=5s") }) s.T().Log("waiting for k0s to terminate") diff --git a/inttest/common/footloosesuite.go b/inttest/common/footloosesuite.go index 7b1ca25b25ff..929706bafd05 100644 --- a/inttest/common/footloosesuite.go +++ b/inttest/common/footloosesuite.go @@ -1062,19 +1062,19 @@ func (s *FootlooseSuite) initializeFootlooseCluster() error { } // Verifies that kubelet process has the address flag set -func (s *FootlooseSuite) GetKubeletCMDLine(node string) (string, error) { +func (s *FootlooseSuite) GetKubeletCMDLine(node string) ([]string, error) { ssh, err := s.SSH(s.Context(), node) if err != nil { - return "", err + return nil, err } defer ssh.Disconnect() output, err := ssh.ExecWithOutput(s.Context(), `cat /proc/$(pidof kubelet)/cmdline`) if err != nil { - return "", err + return nil, err } - return output, nil + return strings.Split(output, "\x00"), nil } func (s *FootlooseSuite) initializeFootlooseClusterInDir(dir string) error {