From d64f489fa1fbe8bbbb0bef7a711aff7e67e8a085 Mon Sep 17 00:00:00 2001 From: Ed Bartosh Date: Mon, 6 Aug 2018 17:11:49 +0300 Subject: [PATCH] kubeadm: fix CRI ListKubeContainers API Current implementation of this API always returns checks output of 'crictl pods -q' and filters out everything that doesn't start with k8s_. 'crictl pods -q' returns only pod ids, so everything is always filtered out. Removing filtering by name prefix should fix this. Fixes: kubernetes/kubeadm#926 --- cmd/kubeadm/app/cmd/reset_test.go | 10 ++++------ cmd/kubeadm/app/util/runtime/runtime.go | 4 +--- cmd/kubeadm/app/util/runtime/runtime_test.go | 2 +- 3 files changed, 6 insertions(+), 10 deletions(-) diff --git a/cmd/kubeadm/app/cmd/reset_test.go b/cmd/kubeadm/app/cmd/reset_test.go index 6ab732eef89..381f41df7cc 100644 --- a/cmd/kubeadm/app/cmd/reset_test.go +++ b/cmd/kubeadm/app/cmd/reset_test.go @@ -249,12 +249,10 @@ func TestRemoveContainers(t *testing.T) { fcmd := fakeexec.FakeCmd{ CombinedOutputScript: []fakeexec.FakeCombinedOutputAction{ func() ([]byte, error) { return []byte("id1\nid2"), nil }, - }, - RunScript: []fakeexec.FakeRunAction{ - func() ([]byte, []byte, error) { return nil, nil, nil }, - func() ([]byte, []byte, error) { return nil, nil, nil }, - func() ([]byte, []byte, error) { return nil, nil, nil }, - func() ([]byte, []byte, error) { return nil, nil, nil }, + func() ([]byte, error) { return []byte(""), nil }, + func() ([]byte, error) { return []byte(""), nil }, + func() ([]byte, error) { return []byte(""), nil }, + func() ([]byte, error) { return []byte(""), nil }, }, } fexec := fakeexec.FakeExec{ diff --git a/cmd/kubeadm/app/util/runtime/runtime.go b/cmd/kubeadm/app/util/runtime/runtime.go index 1526895216e..4bf165bbb7e 100644 --- a/cmd/kubeadm/app/util/runtime/runtime.go +++ b/cmd/kubeadm/app/util/runtime/runtime.go @@ -108,9 +108,7 @@ func (runtime *CRIRuntime) ListKubeContainers() ([]string, error) { } pods := []string{} for _, pod := range strings.Fields(string(out)) { - if strings.HasPrefix(pod, "k8s_") { - pods = append(pods, pod) - } + pods = append(pods, pod) } return pods, nil } diff --git a/cmd/kubeadm/app/util/runtime/runtime_test.go b/cmd/kubeadm/app/util/runtime/runtime_test.go index d4702d11203..b5f8c1d0560 100644 --- a/cmd/kubeadm/app/util/runtime/runtime_test.go +++ b/cmd/kubeadm/app/util/runtime/runtime_test.go @@ -128,7 +128,7 @@ func TestIsRunning(t *testing.T) { func TestListKubeContainers(t *testing.T) { fcmd := fakeexec.FakeCmd{ CombinedOutputScript: []fakeexec.FakeCombinedOutputAction{ - func() ([]byte, error) { return []byte("k8s_p1\nk8s_p2\nid3"), nil }, + func() ([]byte, error) { return []byte("k8s_p1\nk8s_p2"), nil }, func() ([]byte, error) { return nil, &fakeexec.FakeExitError{Status: 1} }, func() ([]byte, error) { return []byte("k8s_p1\nk8s_p2"), nil }, },