@@ -29,9 +29,9 @@ import (
2929 "github.com/go-logr/logr"
3030 corev1 "k8s.io/api/core/v1"
3131 "k8s.io/apimachinery/pkg/api/equality"
32- apierrors "k8s.io/apimachinery/pkg/api/errors"
3332 "k8s.io/apimachinery/pkg/util/sets"
3433 "k8s.io/client-go/tools/record"
34+ "k8s.io/klog/v2"
3535 "sigs.k8s.io/controller-runtime/pkg/client"
3636 "sigs.k8s.io/controller-runtime/pkg/controller/controllerutil"
3737
@@ -255,8 +255,8 @@ func (b *PlanBuilder) defaultWalkFunc(v graph.Vertex) error {
255255
256256func (b * PlanBuilder ) createObject (ctx context.Context , vertex * model.ObjectVertex ) error {
257257 err := b .cli .Create (ctx , vertex .Obj , clientOption (vertex ))
258- if err != nil && ! apierrors . IsAlreadyExists ( err ) {
259- return err
258+ if err != nil {
259+ return fmt . Errorf ( "create %T %s failed: %w" , vertex . Obj , klog . KObj ( vertex . Obj ), err )
260260 }
261261 b .emitEvent (vertex .Obj , "SuccessfulCreate" , model .CREATE )
262262 return nil
@@ -272,8 +272,8 @@ func (b *PlanBuilder) updateObject(ctx context.Context, vertex *model.ObjectVert
272272 err = b .cli .Update (ctx , vertex .Obj , clientOption (vertex ))
273273 reason = "SuccessfulUpdate"
274274 }
275- if err != nil && ! apierrors . IsNotFound ( err ) {
276- return err
275+ if err != nil {
276+ return fmt . Errorf ( "update %T %s failed: %w" , vertex . Obj , klog . KObj ( vertex . Obj ), err )
277277 }
278278 b .emitEvent (vertex .Obj , reason , model .UPDATE )
279279 return nil
@@ -290,8 +290,8 @@ func (b *PlanBuilder) patchObject(ctx context.Context, vertex *model.ObjectVerte
290290 err = b .cli .Patch (ctx , vertex .Obj , patch , clientOption (vertex ))
291291 reason = "SuccessfulPatch"
292292 }
293- if err != nil && ! apierrors . IsNotFound ( err ) {
294- return err
293+ if err != nil {
294+ return fmt . Errorf ( "patch %T %s failed: %w" , vertex . Obj , klog . KObj ( vertex . Obj ), err )
295295 }
296296 b .emitEvent (vertex .Obj , reason , model .PATCH )
297297 return nil
@@ -304,15 +304,14 @@ func (b *PlanBuilder) deleteObject(ctx context.Context, vertex *model.ObjectVert
304304 }
305305 if len (finalizer ) > 0 && controllerutil .RemoveFinalizer (vertex .Obj , finalizer ) {
306306 err := b .cli .Update (ctx , vertex .Obj , clientOption (vertex ))
307- if err != nil && ! apierrors .IsNotFound (err ) {
308- b .transCtx .logger .Error (err , fmt .Sprintf ("delete %T error: %s" , vertex .Obj , vertex .Obj .GetName ()))
309- return err
307+ if err != nil {
308+ return fmt .Errorf ("delete %T %s failed: %w" , vertex .Obj , klog .KObj (vertex .Obj ), err )
310309 }
311310 }
312311 if ! model .IsObjectDeleting (vertex .Obj ) {
313312 err := b .cli .Delete (ctx , vertex .Obj , clientOption (vertex ))
314- if err != nil && ! apierrors . IsNotFound ( err ) {
315- return err
313+ if err != nil {
314+ return fmt . Errorf ( "delete %T %s failed: %w" , vertex . Obj , klog . KObj ( vertex . Obj ), err )
316315 }
317316 b .emitEvent (vertex .Obj , "SuccessfulDelete" , model .DELETE )
318317 }
@@ -321,7 +320,7 @@ func (b *PlanBuilder) deleteObject(ctx context.Context, vertex *model.ObjectVert
321320
322321func (b * PlanBuilder ) statusObject (ctx context.Context , vertex * model.ObjectVertex ) error {
323322 if err := b .cli .Status ().Update (ctx , vertex .Obj , clientOption (vertex )); err != nil {
324- return err
323+ return fmt . Errorf ( "status %T %s failed: %w" , vertex . Obj , klog . KObj ( vertex . Obj ), err )
325324 }
326325 return nil
327326}
0 commit comments