Skip to content

Commit 5231c68

Browse files
author
Antoine Pelisse
committed
managedfields: Update Apply time if neither object nor managedfields have changed
1 parent df41fd9 commit 5231c68

File tree

1 file changed

+4
-1
lines changed

1 file changed

+4
-1
lines changed

staging/src/k8s.io/apiserver/pkg/endpoints/handlers/fieldmanager/managedfieldsupdater.go

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,13 +67,16 @@ func (f *managedFieldsUpdater) Update(liveObj, newObj runtime.Object, managed Ma
6767

6868
// Apply implements Manager.
6969
func (f *managedFieldsUpdater) Apply(liveObj, appliedObj runtime.Object, managed Managed, fieldManager string, force bool) (runtime.Object, Managed, error) {
70+
formerManaged := managed.Fields().Copy()
7071
object, managed, err := f.fieldManager.Apply(liveObj, appliedObj, managed, fieldManager, force)
7172
if err != nil {
7273
return object, managed, err
7374
}
75+
if object != nil || !managed.Fields().Equals(formerManaged) {
76+
managed.Times()[fieldManager] = &metav1.Time{Time: time.Now().UTC()}
77+
}
7478
if object == nil {
7579
object = liveObj
7680
}
77-
managed.Times()[fieldManager] = &metav1.Time{Time: time.Now().UTC()}
7881
return object, managed, nil
7982
}

0 commit comments

Comments
 (0)