diff --git a/pkg/apis/flowcontrol/install/install.go b/pkg/apis/flowcontrol/install/install.go index b5a98915bab..825091e114a 100644 --- a/pkg/apis/flowcontrol/install/install.go +++ b/pkg/apis/flowcontrol/install/install.go @@ -34,4 +34,5 @@ func init() { func Install(scheme *runtime.Scheme) { utilruntime.Must(flowcontrol.AddToScheme(scheme)) utilruntime.Must(flowcontrolv1alpha1.AddToScheme(scheme)) + utilruntime.Must(scheme.SetVersionPriority(flowcontrolv1alpha1.SchemeGroupVersion)) } diff --git a/pkg/apis/flowcontrol/v1alpha1/BUILD b/pkg/apis/flowcontrol/v1alpha1/BUILD index cc002208d23..74f5317ec74 100644 --- a/pkg/apis/flowcontrol/v1alpha1/BUILD +++ b/pkg/apis/flowcontrol/v1alpha1/BUILD @@ -14,7 +14,6 @@ go_library( deps = [ "//pkg/apis/flowcontrol:go_default_library", "//staging/src/k8s.io/api/core/v1:go_default_library", - "//staging/src/k8s.io/api/extensions/v1beta1:go_default_library", "//staging/src/k8s.io/api/flowcontrol/v1alpha1:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/conversion:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/runtime:go_default_library", diff --git a/pkg/apis/flowcontrol/v1alpha1/register.go b/pkg/apis/flowcontrol/v1alpha1/register.go index 309e0d3b98b..6708038b402 100644 --- a/pkg/apis/flowcontrol/v1alpha1/register.go +++ b/pkg/apis/flowcontrol/v1alpha1/register.go @@ -17,7 +17,7 @@ limitations under the License. package v1alpha1 import ( - extensionsv1beta1 "k8s.io/api/extensions/v1beta1" + flowcontrolv1alpha1 "k8s.io/api/flowcontrol/v1alpha1" "k8s.io/apimachinery/pkg/runtime/schema" ) @@ -33,7 +33,7 @@ func Resource(resource string) schema.GroupResource { } var ( - localSchemeBuilder = &extensionsv1beta1.SchemeBuilder + localSchemeBuilder = &flowcontrolv1alpha1.SchemeBuilder // AddToScheme adds api to a scheme AddToScheme = localSchemeBuilder.AddToScheme ) diff --git a/pkg/master/BUILD b/pkg/master/BUILD index c53274b998d..5391f5580a3 100644 --- a/pkg/master/BUILD +++ b/pkg/master/BUILD @@ -95,6 +95,7 @@ go_library( "//staging/src/k8s.io/api/discovery/v1alpha1:go_default_library", "//staging/src/k8s.io/api/events/v1beta1:go_default_library", "//staging/src/k8s.io/api/extensions/v1beta1:go_default_library", + "//staging/src/k8s.io/api/flowcontrol/v1alpha1:go_default_library", "//staging/src/k8s.io/api/networking/v1:go_default_library", "//staging/src/k8s.io/api/networking/v1beta1:go_default_library", "//staging/src/k8s.io/api/node/v1alpha1:go_default_library", diff --git a/pkg/master/master.go b/pkg/master/master.go index d7c2ae74b22..0c354ee0d30 100644 --- a/pkg/master/master.go +++ b/pkg/master/master.go @@ -47,6 +47,7 @@ import ( discoveryv1alpha1 "k8s.io/api/discovery/v1alpha1" eventsv1beta1 "k8s.io/api/events/v1beta1" extensionsapiv1beta1 "k8s.io/api/extensions/v1beta1" + flowcontrolv1alpha1 "k8s.io/api/flowcontrol/v1alpha1" networkingapiv1 "k8s.io/api/networking/v1" networkingapiv1beta1 "k8s.io/api/networking/v1beta1" nodev1alpha1 "k8s.io/api/node/v1alpha1" @@ -575,6 +576,7 @@ func DefaultAPIResourceConfigSource() *serverstorage.ResourceConfig { schedulingv1alpha1.SchemeGroupVersion, settingsv1alpha1.SchemeGroupVersion, storageapiv1alpha1.SchemeGroupVersion, + flowcontrolv1alpha1.SchemeGroupVersion, ) return ret diff --git a/pkg/registry/flowcontrol/flowschema/storage/storage.go b/pkg/registry/flowcontrol/flowschema/storage/storage.go index 4a078c8799d..c624abff8c5 100644 --- a/pkg/registry/flowcontrol/flowschema/storage/storage.go +++ b/pkg/registry/flowcontrol/flowschema/storage/storage.go @@ -28,9 +28,6 @@ import ( "k8s.io/apiserver/pkg/registry/rest" "k8s.io/kubernetes/pkg/apis/flowcontrol" flowcontrolbootstrap "k8s.io/kubernetes/pkg/apis/flowcontrol/bootstrap" - "k8s.io/kubernetes/pkg/printers" - printersinternal "k8s.io/kubernetes/pkg/printers/internalversion" - printerstorage "k8s.io/kubernetes/pkg/printers/storage" "k8s.io/kubernetes/pkg/registry/flowcontrol/flowschema" ) @@ -58,7 +55,7 @@ type REST struct { func NewREST(optsGetter generic.RESTOptionsGetter) (*REST, *StatusREST) { store := &genericregistry.Store{ NewFunc: func() runtime.Object { return &flowcontrol.FlowSchema{} }, - NewListFunc: func() runtime.Object { return &flowcontrol.FlowSchema{} }, + NewListFunc: func() runtime.Object { return &flowcontrol.FlowSchemaList{} }, DefaultQualifiedResource: flowcontrol.Resource("flowschemas"), CreateStrategy: flowschema.Strategy, @@ -66,7 +63,7 @@ func NewREST(optsGetter generic.RESTOptionsGetter) (*REST, *StatusREST) { DeleteStrategy: flowschema.Strategy, // TODO: develop printer handler for flowschema resource - TableConvertor: printerstorage.TableConvertor{TableGenerator: printers.NewTableGenerator().With(printersinternal.AddHandlers)}, + // TableConvertor: printerstorage.TableConvertor{TableGenerator: printers.NewTableGenerator().With(printersinternal.AddHandlers)}, } options := &generic.StoreOptions{RESTOptions: optsGetter} if err := store.CompleteWithOptions(options); err != nil { diff --git a/pkg/registry/flowcontrol/prioritylevelconfiguration/storage/storage.go b/pkg/registry/flowcontrol/prioritylevelconfiguration/storage/storage.go index de201db93de..b49a16a0922 100644 --- a/pkg/registry/flowcontrol/prioritylevelconfiguration/storage/storage.go +++ b/pkg/registry/flowcontrol/prioritylevelconfiguration/storage/storage.go @@ -28,9 +28,6 @@ import ( "k8s.io/apiserver/pkg/registry/rest" "k8s.io/kubernetes/pkg/apis/flowcontrol" flowcontrolbootstrap "k8s.io/kubernetes/pkg/apis/flowcontrol/bootstrap" - "k8s.io/kubernetes/pkg/printers" - printersinternal "k8s.io/kubernetes/pkg/printers/internalversion" - printerstorage "k8s.io/kubernetes/pkg/printers/storage" "k8s.io/kubernetes/pkg/registry/flowcontrol/flowschema" "k8s.io/kubernetes/pkg/registry/flowcontrol/prioritylevelconfiguration" ) @@ -59,7 +56,7 @@ type REST struct { func NewREST(optsGetter generic.RESTOptionsGetter) (*REST, *StatusREST) { store := &genericregistry.Store{ NewFunc: func() runtime.Object { return &flowcontrol.PriorityLevelConfiguration{} }, - NewListFunc: func() runtime.Object { return &flowcontrol.PriorityLevelConfiguration{} }, + NewListFunc: func() runtime.Object { return &flowcontrol.PriorityLevelConfigurationList{} }, DefaultQualifiedResource: flowcontrol.Resource("prioritylevelconfigurations"), CreateStrategy: prioritylevelconfiguration.Strategy, @@ -67,7 +64,7 @@ func NewREST(optsGetter generic.RESTOptionsGetter) (*REST, *StatusREST) { DeleteStrategy: prioritylevelconfiguration.Strategy, // TODO: develop printer handler for prioritylevelconfiguration resource - TableConvertor: printerstorage.TableConvertor{TableGenerator: printers.NewTableGenerator().With(printersinternal.AddHandlers)}, + // TableConvertor: printerstorage.TableConvertor{TableGenerator: printers.NewTableGenerator().With(printersinternal.AddHandlers)}, } options := &generic.StoreOptions{RESTOptions: optsGetter} if err := store.CompleteWithOptions(options); err != nil { diff --git a/staging/src/k8s.io/api/flowcontrol/v1alpha1/register.go b/staging/src/k8s.io/api/flowcontrol/v1alpha1/register.go index 825a77cb28c..81f161bd25c 100644 --- a/staging/src/k8s.io/api/flowcontrol/v1alpha1/register.go +++ b/staging/src/k8s.io/api/flowcontrol/v1alpha1/register.go @@ -17,6 +17,7 @@ limitations under the License. package v1alpha1 import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" ) @@ -52,5 +53,6 @@ func addKnownTypes(scheme *runtime.Scheme) error { &PriorityLevelConfiguration{}, &PriorityLevelConfigurationList{}, ) + metav1.AddToGroupVersion(scheme, SchemeGroupVersion) return nil } diff --git a/staging/src/k8s.io/apiserver/pkg/server/config.go b/staging/src/k8s.io/apiserver/pkg/server/config.go index ef7ac8e526c..42a62eb760d 100644 --- a/staging/src/k8s.io/apiserver/pkg/server/config.go +++ b/staging/src/k8s.io/apiserver/pkg/server/config.go @@ -577,8 +577,8 @@ func (c completedConfig) New(name string, delegationTarget DelegationTarget) (*G } } - if feature.DefaultFeatureGate.Enabled(features.RequestManagement) { - requestManagementHookName := "generic-apiserver-request-management" + requestManagementHookName := "generic-apiserver-request-management" + if feature.DefaultFeatureGate.Enabled(features.RequestManagement) && !s.isPostStartHookRegistered(requestManagementHookName) { err := s.AddPostStartHook(requestManagementHookName, func(context PostStartHookContext) error { return c.RequestManagement.Run(context.StopCh) }) diff --git a/test/integration/apiserver/BUILD b/test/integration/apiserver/BUILD index 022d23c13f1..c51a171c83d 100644 --- a/test/integration/apiserver/BUILD +++ b/test/integration/apiserver/BUILD @@ -35,6 +35,7 @@ go_test( "//staging/src/k8s.io/api/core/v1:go_default_library", "//staging/src/k8s.io/api/discovery/v1alpha1:go_default_library", "//staging/src/k8s.io/api/extensions/v1beta1:go_default_library", + "//staging/src/k8s.io/api/flowcontrol/v1alpha1:go_default_library", "//staging/src/k8s.io/api/node/v1alpha1:go_default_library", "//staging/src/k8s.io/api/rbac/v1alpha1:go_default_library", "//staging/src/k8s.io/api/scheduling/v1:go_default_library", diff --git a/test/integration/apiserver/print_test.go b/test/integration/apiserver/print_test.go index 2936688cf31..da6eb25027b 100644 --- a/test/integration/apiserver/print_test.go +++ b/test/integration/apiserver/print_test.go @@ -138,6 +138,8 @@ var missingHanlders = sets.NewString( "AuditSink", "CSINode", "CSIDriver", + "FlowSchema", + "PriorityLevelConfiguration", ) func TestServerSidePrint(t *testing.T) { @@ -155,6 +157,7 @@ func TestServerSidePrint(t *testing.T) { appsv1beta2.SchemeGroupVersion, extensionsv1beta1.SchemeGroupVersion, nodev1alpha1.SchemeGroupVersion, + //flowcontrolv1alph1.SchemeGroupVersion, }, []schema.GroupVersionResource{ extensionsv1beta1.SchemeGroupVersion.WithResource("daemonsets"),