Commit d64f489f authored by Ed Bartosh's avatar Ed Bartosh

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
parent db9545e6
......@@ -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{
......
......@@ -108,10 +108,8 @@ func (runtime *CRIRuntime) ListKubeContainers() ([]string, error) {
}
pods := []string{}
for _, pod := range strings.Fields(string(out)) {
if strings.HasPrefix(pod, "k8s_") {
pods = append(pods, pod)
}
}
return pods, nil
}
......
......@@ -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 },
},
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment