diff options
| -rw-r--r-- | edge/pkg/metamanager/metaserver/kubernetes/scope/scope.go | 25 | ||||
| -rw-r--r-- | go.mod | 2 |
2 files changed, 26 insertions, 1 deletions
diff --git a/edge/pkg/metamanager/metaserver/kubernetes/scope/scope.go b/edge/pkg/metamanager/metaserver/kubernetes/scope/scope.go index 579f4886c..4da87f299 100644 --- a/edge/pkg/metamanager/metaserver/kubernetes/scope/scope.go +++ b/edge/pkg/metamanager/metaserver/kubernetes/scope/scope.go @@ -6,14 +6,38 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/util/managedfields" "k8s.io/apiserver/pkg/endpoints/handlers" "k8s.io/client-go/kubernetes/scheme" + "k8s.io/klog/v2" + "k8s.io/kube-openapi/pkg/validation/spec" + "sigs.k8s.io/structured-merge-diff/v4/fieldpath" "github.com/kubeedge/kubeedge/edge/pkg/metamanager/metaserver/kubernetes/fakers" "github.com/kubeedge/kubeedge/edge/pkg/metamanager/metaserver/kubernetes/serializer" ) func NewRequestScope() *handlers.RequestScope { + fakeTypeConverter, err := managedfields.NewTypeConverter(make(map[string]*spec.Schema), false) + if err != nil { + klog.Errorf("Failed to create TypeConverter: %v\n", err) + return nil + } + fakeFieldManager, err := managedfields.NewDefaultFieldManager( + fakeTypeConverter, + nil, + fakers.NewFakeObjectDefaulter(), + nil, + schema.GroupVersionKind{}, + schema.GroupVersion{}, + "", + make(map[fieldpath.APIVersion]*fieldpath.Set), + ) + if err != nil { + klog.Errorf("Failed to create FieldManager: %v\n", err) + return nil + } + requestScope := handlers.RequestScope{ Namer: handlers.ContextBasedNaming{ Namer: meta.NewAccessor(), @@ -32,6 +56,7 @@ func NewRequestScope() *handlers.RequestScope { EquivalentResourceMapper: runtime.NewEquivalentResourceRegistry(), TableConvertor: nil, + FieldManager: fakeFieldManager, Resource: schema.GroupVersionResource{}, Subresource: "", @@ -63,6 +63,7 @@ require ( golang.org/x/text v0.13.0 gopkg.in/square/go-jose.v2 v2.6.0 gopkg.in/yaml.v3 v3.0.1 + sigs.k8s.io/structured-merge-diff/v4 v4.2.3 ) require ( @@ -272,7 +273,6 @@ require ( sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect sigs.k8s.io/kustomize/api v0.13.2 // indirect sigs.k8s.io/kustomize/kyaml v0.14.1 // indirect - sigs.k8s.io/structured-merge-diff/v4 v4.2.3 // indirect ) replace ( |
