diff options
| author | KubeEdge Bot <48982446+kubeedge-bot@users.noreply.github.com> | 2024-03-18 09:55:21 +0800 |
|---|---|---|
| committer | Windrow14 <Yinzhe.Wu@sony.com> | 2024-03-20 11:01:38 +0800 |
| commit | e2cf9adde93f03e9fe0be9adadec88153c9cde33 (patch) | |
| tree | c44ff178eca19bdf1f950722126eed323f8ba377 /edge/pkg | |
| parent | Merge pull request #5455 from WillardHu/automated-cherry-pick-of-#5392-upstre... (diff) | |
| download | kubeedge-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.go | 42 |
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 |
