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

Kubernetes-commit: 5231c6815c7b06248575892f3ec96c15c634d368
This commit is contained in:
Antoine Pelisse 2020-03-05 13:13:27 -08:00 committed by Kubernetes Publisher
parent c81c86d33f
commit 05f95a480d
1 changed files with 4 additions and 1 deletions

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
}