summaryrefslogtreecommitdiff
path: root/edge/pkg
diff options
context:
space:
mode:
authorWindrow14 <Yinzhe.Wu@sony.com>2023-12-14 16:41:35 +0800
committerWindrow14 <Yinzhe.Wu@sony.com>2023-12-14 16:41:35 +0800
commit87bcfebc7945c27d3459e66442874306c6c1cb57 (patch)
tree1090ae8892556b62710f06e48c063a3e19fc9f58 /edge/pkg
parentMerge pull request #5305 from wbc6080/remove-protocol (diff)
downloadkubeedge-87bcfebc7945c27d3459e66442874306c6c1cb57.tar.gz
Fix Metaserver Panic when Handling POST 2.
Signed-off-by: Windrow14 <Yinzhe.Wu@sony.com>
Diffstat (limited to 'edge/pkg')
-rw-r--r--edge/pkg/metamanager/metaserver/kubernetes/scope/scope.go16
1 files changed, 16 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..85db8956e 100644
--- a/edge/pkg/metamanager/metaserver/kubernetes/scope/scope.go
+++ b/edge/pkg/metamanager/metaserver/kubernetes/scope/scope.go
@@ -6,14 +6,29 @@ 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/kube-openapi/pkg/validation/spec"
"github.com/kubeedge/kubeedge/edge/pkg/metamanager/metaserver/kubernetes/fakers"
"github.com/kubeedge/kubeedge/edge/pkg/metamanager/metaserver/kubernetes/serializer"
+ "sigs.k8s.io/structured-merge-diff/v4/fieldpath"
)
func NewRequestScope() *handlers.RequestScope {
+ fakeTypeConverter, _ := managedfields.NewTypeConverter(make(map[string]*spec.Schema), false)
+ fakeFieldManager, _ := managedfields.NewDefaultFieldManager(
+ fakeTypeConverter,
+ nil,
+ fakers.NewFakeObjectDefaulter(),
+ nil,
+ schema.GroupVersionKind{},
+ schema.GroupVersion{},
+ "",
+ make(map[fieldpath.APIVersion]*fieldpath.Set),
+ )
+
requestScope := handlers.RequestScope{
Namer: handlers.ContextBasedNaming{
Namer: meta.NewAccessor(),
@@ -32,6 +47,7 @@ func NewRequestScope() *handlers.RequestScope {
EquivalentResourceMapper: runtime.NewEquivalentResourceRegistry(),
TableConvertor: nil,
+ FieldManager: fakeFieldManager,
Resource: schema.GroupVersionResource{},
Subresource: "",