diff --git a/cmd/landscaper-controller/app/app.go b/cmd/landscaper-controller/app/app.go index f46d03624..ea9995a1f 100644 --- a/cmd/landscaper-controller/app/app.go +++ b/cmd/landscaper-controller/app/app.go @@ -258,7 +258,7 @@ func (o *Options) startCentralLandscaper(ctx context.Context, lsMgr, hostMgr man }) eg.Go(func() error { - lockCleaner := lock.NewLockCleaner(lsMgr.GetClient(), hostMgr.GetClient()) + lockCleaner := lock.NewLockCleaner(lsMgr.GetClient()) lockCleaner.StartPeriodicalSyncObjectCleanup(ctx, ctrlLogger) return nil }) diff --git a/pkg/utils/lock/lock_cleaner.go b/pkg/utils/lock/lock_cleaner.go index 08f996d80..4f70cf84f 100644 --- a/pkg/utils/lock/lock_cleaner.go +++ b/pkg/utils/lock/lock_cleaner.go @@ -27,16 +27,14 @@ const ( type LockCleaner struct { writer *read_write_layer.Writer lsReadClient client.Client - hostClient client.Client } -func NewLockCleaner(lsClient, hostClient client.Client) *LockCleaner { +func NewLockCleaner(lsClient client.Client) *LockCleaner { writer := read_write_layer.NewWriter(lsClient) return &LockCleaner{ writer: writer, lsReadClient: lsClient, - hostClient: hostClient, } } @@ -119,7 +117,7 @@ func (l *LockCleaner) existsResource(ctx context.Context, syncObject *lsv1alpha1 Name: syncObject.Spec.Name, } - if err := l.hostClient.Get(ctx, resourceKey, resource); err != nil { + if err := l.lsReadClient.Get(ctx, resourceKey, resource); err != nil { if apierrors.IsNotFound(err) { return false, nil } diff --git a/pkg/utils/read_write_layer/logger.go b/pkg/utils/read_write_layer/logger.go index b712659b0..9e566acca 100644 --- a/pkg/utils/read_write_layer/logger.go +++ b/pkg/utils/read_write_layer/logger.go @@ -89,6 +89,12 @@ func (w *Writer) logTargetUpdate(ctx context.Context, writeID WriteID, msg strin func (w *Writer) logSyncObjectUpdate(ctx context.Context, writeID WriteID, msg string, syncObject *lsv1alpha1.SyncObject, generationOld int64, resourceVersionOld string, err error) { + w.logSyncObjectUpdateBasic(ctx, writeID, msg, syncObject, generationOld, resourceVersionOld, err, false) +} + +func (w *Writer) logSyncObjectUpdateBasic(ctx context.Context, writeID WriteID, msg string, + syncObject *lsv1alpha1.SyncObject, generationOld int64, resourceVersionOld string, err error, logAlreadyExistsAsInfo bool) { + logger := w.getLogger(ctx, keyUpdatedResource, fmt.Sprintf("%s/%s", syncObject.Namespace, syncObject.Name)) if err == nil { @@ -100,7 +106,7 @@ func (w *Writer) logSyncObjectUpdate(ctx context.Context, writeID WriteID, msg s lc.KeyResourceVersionOld, resourceVersionOld, lc.KeyResourceVersionNew, resourceVersionNew, ) - } else if apierrors.IsConflict(err) { + } else if apierrors.IsConflict(err) || (logAlreadyExistsAsInfo && apierrors.IsAlreadyExists(err)) { message := msg + ": " + err.Error() logger.Info(message, lc.KeyWriteID, writeID, diff --git a/pkg/utils/read_write_layer/write.go b/pkg/utils/read_write_layer/write.go index a3809f055..d21b7cb71 100644 --- a/pkg/utils/read_write_layer/write.go +++ b/pkg/utils/read_write_layer/write.go @@ -31,7 +31,7 @@ func NewWriter(c client.Client) *Writer { func (w *Writer) CreateSyncObject(ctx context.Context, writeID WriteID, syncObject *lsv1alpha1.SyncObject) error { generationOld, resourceVersionOld := getGenerationAndResourceVersion(syncObject) err := create(ctx, w.client, syncObject) - w.logSyncObjectUpdate(ctx, writeID, opSyncObjectCreate, syncObject, generationOld, resourceVersionOld, err) + w.logSyncObjectUpdateBasic(ctx, writeID, opSyncObjectCreate, syncObject, generationOld, resourceVersionOld, err, true) return errorWithWriteID(err, writeID) }