From 41e2e598dc968622376429488ebfdea8e5a879c9 Mon Sep 17 00:00:00 2001 From: carlory Date: Fri, 9 Jan 2026 17:06:40 +0800 Subject: [PATCH] kubeadm: fix a bug where kubeadm upgrade is failed if the content of the `kubeadm-flags.env` file is `KUBELET_KUBEADM_ARGS=""` Signed-off-by: carlory --- cmd/kubeadm/app/phases/kubelet/flags.go | 2 +- cmd/kubeadm/app/phases/kubelet/flags_test.go | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/cmd/kubeadm/app/phases/kubelet/flags.go b/cmd/kubeadm/app/phases/kubelet/flags.go index 965b61bedb9..8abd742f8f6 100644 --- a/cmd/kubeadm/app/phases/kubelet/flags.go +++ b/cmd/kubeadm/app/phases/kubelet/flags.go @@ -154,7 +154,7 @@ func ReadKubeletDynamicEnvFile(kubeletEnvFilePath string) ([]string, error) { // Split the flags string by whitespace to get individual arguments. trimmedFlags := strings.Fields(flags) if len(trimmedFlags) == 0 { - return nil, errors.Errorf("no flags found in file %q", kubeletEnvFilePath) + return nil, nil } var updatedFlags []string diff --git a/cmd/kubeadm/app/phases/kubelet/flags_test.go b/cmd/kubeadm/app/phases/kubelet/flags_test.go index 2b688734108..d2134086190 100644 --- a/cmd/kubeadm/app/phases/kubelet/flags_test.go +++ b/cmd/kubeadm/app/phases/kubelet/flags_test.go @@ -193,10 +193,10 @@ func TestReadKubeadmFlags(t *testing.T) { expectError: false, }, { - name: "no container-runtime-endpoint found", + name: "has KUBELET_KUBEADM_ARGS line but no args", fileContent: `KUBELET_KUBEADM_ARGS=""`, expectedValue: nil, - expectError: true, + expectError: false, }, { name: "no KUBELET_KUBEADM_ARGS line", @@ -248,8 +248,8 @@ func TestReadKubeadmFlags(t *testing.T) { } value, err := ReadKubeletDynamicEnvFile(tmpFile.Name()) - if !tt.expectError && err != nil { - t.Errorf("Unexpected error: %v", err) + if tt.expectError != (err != nil) { + t.Errorf("Expect error: %v, got: %v, error: %v", tt.expectError, err != nil, err) } assert.Equal(t, tt.expectedValue, value)