From 6e56d288419ea59ebf58897fbcf0ddeb389af68d Mon Sep 17 00:00:00 2001 From: David Festal Date: Tue, 16 Jul 2019 12:01:46 +0200 Subject: [PATCH] Gracefully ignore the error when trying to delete an unexisting OAuthClient (#48) Signed-off-by: David Festal --- pkg/controller/che/finalizer.go | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/pkg/controller/che/finalizer.go b/pkg/controller/che/finalizer.go index fded2eab1..dbfb401e9 100644 --- a/pkg/controller/che/finalizer.go +++ b/pkg/controller/che/finalizer.go @@ -1,6 +1,7 @@ package che import ( + "k8s.io/apimachinery/pkg/api/errors" "context" orgv1 "github.com/eclipse/che-operator/pkg/apis/org/v1" "github.com/eclipse/che-operator/pkg/util" @@ -20,14 +21,15 @@ func (r *ReconcileChe) ReconcileFinalizer(instance *orgv1.CheCluster) (err error oAuthClientName := instance.Spec.Auth.OauthClientName logrus.Infof("Custom resource %s is being deleted. Deleting oAuthClient %s first", instance.Name, oAuthClientName) oAuthClient, err := r.GetOAuthClient(oAuthClientName) - if err != nil { + if err == nil { + if err := r.client.Delete(context.TODO(), oAuthClient); err != nil { + logrus.Errorf("Failed to delete %s oAuthClient: %s", oAuthClientName, err) + return err + } + } else if !errors.IsNotFound(err) { logrus.Errorf("Failed to get %s oAuthClient: %s", oAuthClientName, err) return err } - if err := r.client.Delete(context.TODO(), oAuthClient); err != nil { - logrus.Errorf("Failed to delete %s oAuthClient: %s", oAuthClientName, err) - return err - } instance.ObjectMeta.Finalizers = util.DoRemoveString(instance.ObjectMeta.Finalizers, oAuthFinalizerName) logrus.Infof("Updating %s CR", instance.Name)