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{