summaryrefslogtreecommitdiff
path: root/edge/pkg
diff options
context:
space:
mode:
authorKubeEdge Bot <48982446+kubeedge-bot@users.noreply.github.com>2024-03-18 09:55:21 +0800
committerWindrow14 <Yinzhe.Wu@sony.com>2024-03-20 11:01:38 +0800
commite2cf9adde93f03e9fe0be9adadec88153c9cde33 (patch)
treec44ff178eca19bdf1f950722126eed323f8ba377 /edge/pkg
parentMerge pull request #5455 from WillardHu/automated-cherry-pick-of-#5392-upstre... (diff)
downloadkubeedge-e2cf9adde93f03e9fe0be9adadec88153c9cde33.tar.gz
Merge pull request #5352 from Windrow14/bugfix/metaserver_panic_when_handling_post_3
Fix edgecore's metaserver panic due to nil initializers in request scope. Signed-off-by: Windrow14 <Yinzhe.Wu@sony.com>
Diffstat (limited to 'edge/pkg')
-rw-r--r--edge/pkg/metamanager/metaserver/kubernetes/scope/scope.go42
1 files changed, 25 insertions, 17 deletions
diff --git a/edge/pkg/metamanager/metaserver/kubernetes/scope/scope.go b/edge/pkg/metamanager/metaserver/kubernetes/scope/scope.go
index 4da87f299..015b58de0 100644
--- a/edge/pkg/metamanager/metaserver/kubernetes/scope/scope.go
+++ b/edge/pkg/metamanager/metaserver/kubernetes/scope/scope.go
@@ -4,10 +4,12 @@ import (
"k8s.io/apiextensions-apiserver/pkg/crdserverscheme"
"k8s.io/apimachinery/pkg/api/meta"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+ "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured/unstructuredscheme"
"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/apiserver/pkg/registry/rest"
"k8s.io/client-go/kubernetes/scheme"
"k8s.io/klog/v2"
"k8s.io/kube-openapi/pkg/validation/spec"
@@ -18,16 +20,16 @@ import (
)
func NewRequestScope() *handlers.RequestScope {
- fakeTypeConverter, err := managedfields.NewTypeConverter(make(map[string]*spec.Schema), false)
+ typeConverter, 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,
+ fieldManager, err := managedfields.NewDefaultFieldManager(
+ typeConverter,
+ fakers.NewFakeObjectConvertor(),
fakers.NewFakeObjectDefaulter(),
- nil,
+ unstructuredscheme.NewUnstructuredCreator(),
schema.GroupVersionKind{},
schema.GroupVersion{},
"",
@@ -46,26 +48,32 @@ func NewRequestScope() *handlers.RequestScope {
Serializer: serializer.NewNegotiatedSerializer(),
ParameterCodec: scheme.ParameterCodec,
- //Creater: nil,
- Convertor: fakers.NewFakeObjectConvertor(),
- Defaulter: fakers.NewFakeObjectDefaulter(),
- Typer: crdserverscheme.NewUnstructuredObjectTyper(),
- //UnsafeConvertor: nil,
- Authorizer: fakers.NewAlwaysAllowAuthorizer(),
+
+ StandardSerializers: make([]runtime.SerializerInfo, 0),
+
+ Creater: unstructuredscheme.NewUnstructuredCreator(),
+ Convertor: fakers.NewFakeObjectConvertor(),
+ Defaulter: fakers.NewFakeObjectDefaulter(),
+ Typer: crdserverscheme.NewUnstructuredObjectTyper(),
+ UnsafeConvertor: fakers.NewFakeObjectConvertor(),
+ Authorizer: fakers.NewAlwaysAllowAuthorizer(),
EquivalentResourceMapper: runtime.NewEquivalentResourceRegistry(),
- TableConvertor: nil,
- FieldManager: fakeFieldManager,
+ TableConvertor: rest.NewDefaultTableConvertor(schema.GroupResource{}),
+ FieldManager: fieldManager,
- Resource: schema.GroupVersionResource{},
- Subresource: "",
- Kind: schema.GroupVersionKind{},
+ Resource: schema.GroupVersionResource{},
+ Kind: schema.GroupVersionKind{},
- HubGroupVersion: schema.GroupVersion{},
+ AcceptsGroupVersionDelegate: nil,
+
+ Subresource: "",
MetaGroupVersion: metav1.SchemeGroupVersion,
+ HubGroupVersion: schema.GroupVersion{},
+
MaxRequestBodyBytes: int64(3 * 1024 * 1024),
}
return &requestScope