Skip to content

Commit

Permalink
Change kubelet args passed in CLI inttest
Browse files Browse the repository at this point in the history
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 <[email protected]>
  • Loading branch information
twz123 committed Sep 18, 2023
1 parent 6c8cf9a commit f22108f
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 8 deletions.
8 changes: 4 additions & 4 deletions inttest/cli/cli_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -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)
})
Expand Down Expand Up @@ -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")
Expand Down
8 changes: 4 additions & 4 deletions inttest/common/footloosesuite.go
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand Down

0 comments on commit f22108f

Please sign in to comment.