Skip to content

Commit a0f37f4

Browse files
committed
fix(controller): don't reset expiresAt field on startup
1 parent eb6d51c commit a0f37f4

File tree

1 file changed

+8
-6
lines changed

1 file changed

+8
-6
lines changed

controllers/cachedimage_controller.go

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -112,13 +112,15 @@ func (r *CachedImageReconciler) Reconcile(ctx context.Context, req ctrl.Request)
112112
// Set an expiration date for unused CachedImage
113113
expiresAt := cachedImage.Spec.ExpiresAt
114114
if len(cachedImage.Status.UsedBy.Pods) == 0 && !cachedImage.Spec.Retain {
115-
expiresAt := metav1.NewTime(time.Now().Add(r.ExpiryDelay))
116-
log.Info("cachedimage is no longer used, setting an expiry date", "cachedImage", klog.KObj(&cachedImage), "expiresAt", expiresAt)
117-
cachedImage.Spec.ExpiresAt = &expiresAt
115+
if cachedImage.Spec.ExpiresAt.IsZero() {
116+
expiresAt := metav1.NewTime(time.Now().Add(r.ExpiryDelay))
117+
log.Info("cachedimage is no longer used, setting an expiry date", "cachedImage", klog.KObj(&cachedImage), "expiresAt", expiresAt)
118+
cachedImage.Spec.ExpiresAt = &expiresAt
118119

119-
err := r.Patch(ctx, &cachedImage, client.Merge)
120-
if err != nil && !apierrors.IsNotFound(err) {
121-
return ctrl.Result{}, err
120+
err := r.Patch(ctx, &cachedImage, client.Merge)
121+
if err != nil && !apierrors.IsNotFound(err) {
122+
return ctrl.Result{}, err
123+
}
122124
}
123125
} else {
124126
log.Info("cachedimage is used or retained", "cachedImage", klog.KObj(&cachedImage), "expiresAt", expiresAt, "retain", cachedImage.Spec.Retain)

0 commit comments

Comments
 (0)