remove fieldsv1 from upgrade body

Kubernetes-commit: 5c9534b9cfdcfa9625153051f0859e101abb97a9
This commit is contained in:
Alexander Zielenski 2022-09-02 17:38:29 -07:00 committed by Kubernetes Publisher
parent 703d15eff6
commit 9aa7c11460

View File

@ -124,7 +124,7 @@ func unionManagerIntoIndex(entries []metav1.ManagedFieldsEntry, targetIndex int,
entry.APIVersion == ssaManager.APIVersion entry.APIVersion == ssaManager.APIVersion
}) })
targetFieldSet, err := fieldsToSet(*ssaManager.FieldsV1) targetFieldSet, err := decodeManagedFieldsEntrySet(ssaManager)
if err != nil { if err != nil {
return fmt.Errorf("failed to convert fields to set: %w", err) return fmt.Errorf("failed to convert fields to set: %w", err)
} }
@ -136,7 +136,7 @@ func unionManagerIntoIndex(entries []metav1.ManagedFieldsEntry, targetIndex int,
if csaManagerExists { if csaManagerExists {
csaManager := entries[csaManagerIndex] csaManager := entries[csaManagerIndex]
csaFieldSet, err := fieldsToSet(*csaManager.FieldsV1) csaFieldSet, err := decodeManagedFieldsEntrySet(csaManager)
if err != nil { if err != nil {
return fmt.Errorf("failed to convert fields to set: %w", err) return fmt.Errorf("failed to convert fields to set: %w", err)
} }
@ -149,12 +149,11 @@ func unionManagerIntoIndex(entries []metav1.ManagedFieldsEntry, targetIndex int,
combinedFieldSet = combinedFieldSet.Difference(csaAnnotationFieldSet) combinedFieldSet = combinedFieldSet.Difference(csaAnnotationFieldSet)
// Encode the fields back to the serialized format // Encode the fields back to the serialized format
combinedFieldSetEncoded, err := setToFields(*combinedFieldSet) err = encodeManagedFieldsEntrySet(&entries[targetIndex], *combinedFieldSet)
if err != nil { if err != nil {
return fmt.Errorf("failed to encode field set: %w", err) return fmt.Errorf("failed to encode field set: %w", err)
} }
entries[targetIndex].FieldsV1 = &combinedFieldSetEncoded
return nil return nil
} }
@ -192,13 +191,13 @@ func filter[T any](
// Included from fieldmanager.internal to avoid dependency cycle // Included from fieldmanager.internal to avoid dependency cycle
// FieldsToSet creates a set paths from an input trie of fields // FieldsToSet creates a set paths from an input trie of fields
func fieldsToSet(f metav1.FieldsV1) (s fieldpath.Set, err error) { func decodeManagedFieldsEntrySet(f metav1.ManagedFieldsEntry) (s fieldpath.Set, err error) {
err = s.FromJSON(bytes.NewReader(f.Raw)) err = s.FromJSON(bytes.NewReader(f.FieldsV1.Raw))
return s, err return s, err
} }
// SetToFields creates a trie of fields from an input set of paths // SetToFields creates a trie of fields from an input set of paths
func setToFields(s fieldpath.Set) (f metav1.FieldsV1, err error) { func encodeManagedFieldsEntrySet(f *metav1.ManagedFieldsEntry, s fieldpath.Set) (err error) {
f.Raw, err = s.ToJSON() f.FieldsV1.Raw, err = s.ToJSON()
return f, err return err
} }