summaryrefslogtreecommitdiff
path: root/edge
diff options
context:
space:
mode:
authorKubeEdge Bot <48982446+kubeedge-bot@users.noreply.github.com>2023-12-20 14:46:02 +0800
committerGitHub <noreply@github.com>2023-12-20 14:46:02 +0800
commit86e8b34eafd34dd2e4c5d2d4689fae6f379e736d (patch)
treed223c45013bd8419ad47792cf66dc0a708dbce3e /edge
parentMerge pull request #5299 from Shelley-BaoYue/remove-runtimetype (diff)
parentUse klog instead of Fprintf. (diff)
downloadkubeedge-86e8b34eafd34dd2e4c5d2d4689fae6f379e736d.tar.gz
Merge pull request #5313 from Windrow14/bugfix/metaserver_panic_when_handling_post_2
Fix Metaserver Panic when Handling POST 2.
Diffstat (limited to 'edge')
-rw-r--r--edge/pkg/metamanager/metaserver/kubernetes/scope/scope.go25
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: "",