From dd1752e14a0980ff799eb46bfb3d336a7ddb9740 Mon Sep 17 00:00:00 2001 From: Antoine Pelisse Date: Thu, 30 Apr 2020 13:38:23 -0700 Subject: [PATCH] Fix fieldType being dropped by older go-clients Kubernetes-commit: 650f4208fd86f73010357ce30a73638091e33af2 --- pkg/apis/meta/v1/validation/validation.go | 2 +- pkg/apis/meta/v1/validation/validation_test.go | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/pkg/apis/meta/v1/validation/validation.go b/pkg/apis/meta/v1/validation/validation.go index 2743793dd..fcd491f4c 100644 --- a/pkg/apis/meta/v1/validation/validation.go +++ b/pkg/apis/meta/v1/validation/validation.go @@ -178,7 +178,7 @@ func ValidateManagedFields(fieldsList []metav1.ManagedFieldsEntry, fldPath *fiel default: allErrs = append(allErrs, field.Invalid(fldPath.Child("operation"), fields.Operation, "must be `Apply` or `Update`")) } - if fields.FieldsType != "FieldsV1" { + if len(fields.FieldsType) > 0 && fields.FieldsType != "FieldsV1" { allErrs = append(allErrs, field.Invalid(fldPath.Child("fieldsType"), fields.FieldsType, "must be `FieldsV1`")) } } diff --git a/pkg/apis/meta/v1/validation/validation_test.go b/pkg/apis/meta/v1/validation/validation_test.go index 30d6289f8..aa71a600a 100644 --- a/pkg/apis/meta/v1/validation/validation_test.go +++ b/pkg/apis/meta/v1/validation/validation_test.go @@ -242,12 +242,8 @@ func TestValidateFieldManagerInvalid(t *testing.T) { } } -func TestValidateMangedFieldsInvalid(t *testing.T) { +func TestValidateManagedFieldsInvalid(t *testing.T) { tests := []metav1.ManagedFieldsEntry{ - { - Operation: metav1.ManagedFieldsOperationUpdate, - // FieldsType is missing - }, { Operation: metav1.ManagedFieldsOperationUpdate, FieldsType: "RandomVersion", @@ -274,6 +270,10 @@ func TestValidateMangedFieldsInvalid(t *testing.T) { func TestValidateMangedFieldsValid(t *testing.T) { tests := []metav1.ManagedFieldsEntry{ + { + Operation: metav1.ManagedFieldsOperationUpdate, + // FieldsType is missing + }, { Operation: metav1.ManagedFieldsOperationUpdate, FieldsType: "FieldsV1",