From 0e3f921457a0926e5a7e8828ad0cfbb1483fbd51 Mon Sep 17 00:00:00 2001 From: David Eads Date: Fri, 22 Jun 2018 08:54:00 -0400 Subject: [PATCH] make sure delete waiting doesn't re-evaluate the resource lists --- pkg/kubectl/cmd/delete.go | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/pkg/kubectl/cmd/delete.go b/pkg/kubectl/cmd/delete.go index dc0d63ca19..13767cec02 100644 --- a/pkg/kubectl/cmd/delete.go +++ b/pkg/kubectl/cmd/delete.go @@ -234,10 +234,12 @@ func (o *DeleteOptions) DeleteResult(r *resource.Result) error { if o.IgnoreNotFound { r = r.IgnoreErrors(errors.IsNotFound) } + deletedInfos := []*resource.Info{} err := r.Visit(func(info *resource.Info, err error) error { if err != nil { return err } + deletedInfos = append(deletedInfos, info) found++ options := &metav1.DeleteOptions{} @@ -249,6 +251,7 @@ func (o *DeleteOptions) DeleteResult(r *resource.Result) error { policy = metav1.DeletePropagationOrphan } options.PropagationPolicy = &policy + return o.deleteResource(info, options) }) if err != nil { @@ -273,7 +276,7 @@ func (o *DeleteOptions) DeleteResult(r *resource.Result) error { effectiveTimeout = 168 * time.Hour } waitOptions := kubectlwait.WaitOptions{ - ResourceFinder: genericclioptions.ResourceFinderForResult(r), + ResourceFinder: genericclioptions.ResourceFinderForResult(resource.InfoListVisitor(deletedInfos)), DynamicClient: o.DynamicClient, Timeout: effectiveTimeout,