From 50d8d36d8bde4301d4c304bde9f4e65ea4b03aec Mon Sep 17 00:00:00 2001 From: Michelle Noorali Date: Thu, 25 Aug 2016 12:30:02 -0600 Subject: [PATCH] ref(kube): delete skips IsNotFound errs Currently, delete returns an error if a resource is not found. That is a bit confusing because if you delete something that is not found, the end state is not really an error. The end state is what you wanted to do in the first place. This type of error is not propogated from the kube client but it is logged in tiller. We could also change this to keep returning errors (even the not found) and filter it out in the release server. --- pkg/kube/client.go | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/pkg/kube/client.go b/pkg/kube/client.go index 1dd949663..7055ec074 100644 --- a/pkg/kube/client.go +++ b/pkg/kube/client.go @@ -221,10 +221,16 @@ func (c *Client) Delete(namespace string, reader io.Reader) error { if kubectl.IsNoSuchReaperError(err) { return resource.NewHelper(info.Client, info.Mapping).Delete(info.Namespace, info.Name) } + return err } log.Printf("Using reaper for deleting %s", info.Name) - return reaper.Stop(info.Namespace, info.Name, 0, nil) + err = reaper.Stop(info.Namespace, info.Name, 0, nil) + if err != nil && errors.IsNotFound(err) { + log.Printf("%v", err) + return nil + } + return err }) }