managedfields: Update Apply time if neither object nor managedfields have changed

This commit is contained in:
Antoine Pelisse 2020-03-05 13:13:27 -08:00
parent df41fd932b
commit 5231c6815c

View File

@ -67,13 +67,16 @@ func (f *managedFieldsUpdater) Update(liveObj, newObj runtime.Object, managed Ma
// Apply implements Manager.
func (f *managedFieldsUpdater) Apply(liveObj, appliedObj runtime.Object, managed Managed, fieldManager string, force bool) (runtime.Object, Managed, error) {
formerManaged := managed.Fields().Copy()
object, managed, err := f.fieldManager.Apply(liveObj, appliedObj, managed, fieldManager, force)
if err != nil {
return object, managed, err
}
if object != nil || !managed.Fields().Equals(formerManaged) {
managed.Times()[fieldManager] = &metav1.Time{Time: time.Now().UTC()}
}
if object == nil {
object = liveObj
}
managed.Times()[fieldManager] = &metav1.Time{Time: time.Now().UTC()}
return object, managed, nil
}