@@ -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