fieldmanager: remove dependencies on internal

Remove dependencies on internal fieldmanager for admission things. This
is preparing for moving fieldmanager out, but the admission part will
stay here, so it can't depend directly on internal.

Kubernetes-commit: d13b405307262b2b9c0795af3a22d0a5725ef6a0
This commit is contained in:
Antoine Pelisse 2022-12-21 15:46:49 -08:00 committed by Kubernetes Publisher
parent ea2eeed670
commit 9451c13844
2 changed files with 4 additions and 4 deletions

View File

@ -22,7 +22,6 @@ import (
"k8s.io/apimachinery/pkg/api/meta"
"k8s.io/apiserver/pkg/admission"
"k8s.io/apiserver/pkg/endpoints/handlers/fieldmanager/internal"
"k8s.io/apiserver/pkg/warning"
)
@ -71,7 +70,7 @@ func (admit *managedFieldsValidatingAdmissionController) Admit(ctx context.Conte
return err
}
managedFieldsAfterAdmission := objectMeta.GetManagedFields()
if _, err := internal.DecodeManagedFields(managedFieldsAfterAdmission); err != nil {
if err := ValidateManagedFields(managedFieldsAfterAdmission); err != nil {
objectMeta.SetManagedFields(managedFieldsBeforeAdmission)
warning.AddWarning(ctx, "",
fmt.Sprintf(InvalidManagedFieldsAfterMutatingAdmissionWarningFormat,

View File

@ -27,7 +27,6 @@ import (
"k8s.io/apimachinery/pkg/runtime/schema"
"k8s.io/apiserver/pkg/admission"
"k8s.io/apiserver/pkg/endpoints/handlers/fieldmanager"
"k8s.io/apiserver/pkg/endpoints/handlers/fieldmanager/internal"
"sigs.k8s.io/structured-merge-diff/v4/fieldpath"
)
@ -36,7 +35,9 @@ func TestAdmission(t *testing.T) {
ac := fieldmanager.NewManagedFieldsValidatingAdmissionController(wrap)
now := metav1.Now()
validFieldsV1, err := internal.SetToFields(*fieldpath.NewSet(fieldpath.MakePathOrDie("metadata", "labels", "test-label")))
validFieldsV1 := metav1.FieldsV1{}
var err error
validFieldsV1.Raw, err = fieldpath.NewSet(fieldpath.MakePathOrDie("metadata", "labels", "test-label")).ToJSON()
if err != nil {
t.Fatal(err)
}