diff options
Diffstat (limited to 'edge')
| -rw-r--r-- | edge/pkg/metamanager/metaserver/kubernetes/scope/scope.go | 25 |
1 files changed, 25 insertions, 0 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: "", |
