mirror of
https://github.com/kubernetes/client-go.git
synced 2025-06-29 00:17:46 +00:00
Update staging/src/k8s.io/client-go/util/csaupgrade/upgrade.go
Co-authored-by: Antoine Pelisse <apelisse@gmail.com> Kubernetes-commit: 5caffef694b50168f546d7758a26de832302b541
This commit is contained in:
parent
675ca93180
commit
703d15eff6
@ -51,46 +51,39 @@ func UpgradeManagedFields(
|
|||||||
managedFields = append(managedFields, accessor.GetManagedFields()...)
|
managedFields = append(managedFields, accessor.GetManagedFields()...)
|
||||||
|
|
||||||
// Locate SSA manager
|
// Locate SSA manager
|
||||||
ssaManagerIndex, ssaManagerExists := findFirstIndex(managedFields,
|
replaceIndex, managerExists := findFirstIndex(managedFields,
|
||||||
func(entry metav1.ManagedFieldsEntry) bool {
|
func(entry metav1.ManagedFieldsEntry) bool {
|
||||||
return entry.Manager == ssaManagerName &&
|
return entry.Manager == ssaManagerName &&
|
||||||
entry.Operation == metav1.ManagedFieldsOperationApply &&
|
entry.Operation == metav1.ManagedFieldsOperationApply &&
|
||||||
entry.Subresource == ""
|
entry.Subresource == ""
|
||||||
})
|
})
|
||||||
|
|
||||||
if ssaManagerExists {
|
if !managerExists {
|
||||||
err = unionManagerIntoIndex(managedFields, ssaManagerIndex, csaManagerName)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
} else {
|
|
||||||
// SSA manager does not exist. Find the most recent matching CSA manager,
|
// SSA manager does not exist. Find the most recent matching CSA manager,
|
||||||
// convert it to an SSA manager.
|
// convert it to an SSA manager.
|
||||||
//
|
//
|
||||||
// (find first index, since managed fields are sorted so that most recent is
|
// (find first index, since managed fields are sorted so that most recent is
|
||||||
// first in the list)
|
// first in the list)
|
||||||
csaManagerIndex, csaManagerExists := findFirstIndex(managedFields,
|
replaceIndex, managerExists = findFirstIndex(managedFields,
|
||||||
func(entry metav1.ManagedFieldsEntry) bool {
|
func(entry metav1.ManagedFieldsEntry) bool {
|
||||||
return entry.Manager == csaManagerName &&
|
return entry.Manager == csaManagerName &&
|
||||||
entry.Operation == metav1.ManagedFieldsOperationUpdate &&
|
entry.Operation == metav1.ManagedFieldsOperationUpdate &&
|
||||||
entry.Subresource == ""
|
entry.Subresource == ""
|
||||||
})
|
})
|
||||||
|
|
||||||
if !csaManagerExists {
|
if !managerExists {
|
||||||
// There are no CSA managers that need to be converted. Nothing to do
|
// There are no CSA managers that need to be converted. Nothing to do
|
||||||
// Return early
|
// Return early
|
||||||
return obj, nil
|
return obj, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// Convert CSA manager into SSA manager
|
// Convert CSA manager into SSA manager
|
||||||
managedFields[csaManagerIndex].Operation = metav1.ManagedFieldsOperationApply
|
managedFields[replaceIndex].Operation = metav1.ManagedFieldsOperationApply
|
||||||
managedFields[csaManagerIndex].Manager = ssaManagerName
|
managedFields[replaceIndex].Manager = ssaManagerName
|
||||||
|
}
|
||||||
err = unionManagerIntoIndex(managedFields, csaManagerIndex, csaManagerName)
|
err = unionManagerIntoIndex(managedFields, replaceIndex, csaManagerName)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Create version of managed fields which has no CSA managers with the given name
|
// Create version of managed fields which has no CSA managers with the given name
|
||||||
|
Loading…
Reference in New Issue
Block a user