From cf01e4558b4b25a06835f2c49246afec08379ca3 Mon Sep 17 00:00:00 2001 From: Ling Samuel Date: Thu, 19 Nov 2020 14:48:28 +0800 Subject: [PATCH] fix kubectl wait --for=delete ignore not found Signed-off-by: Ling Samuel Kubernetes-commit: 99cdc37e2a89df1f86045f295916c00266e4d034 --- pkg/cmd/wait/wait.go | 5 +++-- pkg/cmd/wait/wait_test.go | 10 +--------- 2 files changed, 4 insertions(+), 11 deletions(-) diff --git a/pkg/cmd/wait/wait.go b/pkg/cmd/wait/wait.go index 7dd647e89..cbd32318b 100644 --- a/pkg/cmd/wait/wait.go +++ b/pkg/cmd/wait/wait.go @@ -249,7 +249,8 @@ func (o *WaitOptions) RunWait() error { return err } visitor := o.ResourceFinder.Do() - if visitor, ok := visitor.(*resource.Result); ok && strings.ToLower(o.ForCondition) == "delete" { + isForDelete := strings.ToLower(o.ForCondition) == "delete" + if visitor, ok := visitor.(*resource.Result); ok && isForDelete { visitor.IgnoreErrors(apierrors.IsNotFound) } @@ -257,7 +258,7 @@ func (o *WaitOptions) RunWait() error { if err != nil { return err } - if visitCount == 0 { + if visitCount == 0 && !isForDelete { return errNoMatchingResources } return err diff --git a/pkg/cmd/wait/wait_test.go b/pkg/cmd/wait/wait_test.go index 5eee26bea..b167834bc 100644 --- a/pkg/cmd/wait/wait_test.go +++ b/pkg/cmd/wait/wait_test.go @@ -985,15 +985,7 @@ func TestWaitForDeletionIgnoreNotFound(t *testing.T) { listMapping := map[schema.GroupVersionResource]string{ {Group: "group", Version: "version", Resource: "theresource"}: "TheKindList", } - infos := []*resource.Info{ - { - Mapping: &meta.RESTMapping{ - Resource: schema.GroupVersionResource{Group: "group", Version: "version", Resource: "theresource"}, - }, - Name: "name-foo", - Namespace: "ns-foo", - }, - } + infos := []*resource.Info{} fakeClient := dynamicfakeclient.NewSimpleDynamicClientWithCustomListKinds(scheme, listMapping) o := &WaitOptions{