From bad7599f06cde17e9b4a51087cd0a84836b29c11 Mon Sep 17 00:00:00 2001 From: jennybuckley Date: Mon, 4 Mar 2019 16:30:37 -0800 Subject: [PATCH] Update conversion code --- .../handlers/fieldmanager/internal/managedfields.go | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/staging/src/k8s.io/apiserver/pkg/endpoints/handlers/fieldmanager/internal/managedfields.go b/staging/src/k8s.io/apiserver/pkg/endpoints/handlers/fieldmanager/internal/managedfields.go index 0c20d97b92..d751768170 100644 --- a/staging/src/k8s.io/apiserver/pkg/endpoints/handlers/fieldmanager/internal/managedfields.go +++ b/staging/src/k8s.io/apiserver/pkg/endpoints/handlers/fieldmanager/internal/managedfields.go @@ -114,6 +114,9 @@ func BuildManagerIdentifier(encodedManager *metav1.ManagedFieldsEntry) (manager func decodeVersionedSet(encodedVersionedSet *metav1.ManagedFieldsEntry) (versionedSet *fieldpath.VersionedSet, err error) { versionedSet = &fieldpath.VersionedSet{} versionedSet.APIVersion = fieldpath.APIVersion(encodedVersionedSet.APIVersion) + if encodedVersionedSet.Operation == metav1.ManagedFieldsOperationApply { + versionedSet.Applied = true + } fields := metav1.Fields{} if encodedVersionedSet.Fields != nil { @@ -158,8 +161,11 @@ func encodeManagerVersionedSet(manager string, versionedSet *fieldpath.Versioned return nil, fmt.Errorf("error unmarshalling manager identifier %v: %v", manager, err) } - // Get the APIVersion and Fields from the VersionedSet + // Get the APIVersion, Operation, and Fields from the VersionedSet encodedVersionedSet.APIVersion = string(versionedSet.APIVersion) + if versionedSet.Applied { + encodedVersionedSet.Operation = metav1.ManagedFieldsOperationApply + } fields, err := SetToFields(*versionedSet.Set) if err != nil { return nil, fmt.Errorf("error encoding set: %v", err)