diff --git a/cmd/kube-apiserver/app/server.go b/cmd/kube-apiserver/app/server.go index 4d4470d9e65..33dfdd2c083 100644 --- a/cmd/kube-apiserver/app/server.go +++ b/cmd/kube-apiserver/app/server.go @@ -270,7 +270,6 @@ func Run(s *options.ServerRunOptions) error { genericConfig.Authenticator = apiAuthenticator genericConfig.Authorizer = apiAuthorizer genericConfig.AdmissionControl = admissionController - genericConfig.APIResourceConfigSource = storageFactory.APIResourceConfigSource genericConfig.OpenAPIConfig.Info.Title = "Kubernetes" genericConfig.OpenAPIConfig.Definitions = generatedopenapi.OpenAPIDefinitions genericConfig.EnableOpenAPISupport = true @@ -280,6 +279,7 @@ func Run(s *options.ServerRunOptions) error { config := &master.Config{ GenericConfig: genericConfig, + APIResourceConfigSource: storageFactory.APIResourceConfigSource, StorageFactory: storageFactory, EnableWatchCache: s.GenericServerRunOptions.EnableWatchCache, EnableCoreControllers: true, diff --git a/federation/cmd/federation-apiserver/app/server.go b/federation/cmd/federation-apiserver/app/server.go index d05e0a2c291..8b98d450247 100644 --- a/federation/cmd/federation-apiserver/app/server.go +++ b/federation/cmd/federation-apiserver/app/server.go @@ -161,7 +161,6 @@ func Run(s *options.ServerRunOptions) error { genericConfig.Authenticator = apiAuthenticator genericConfig.Authorizer = apiAuthorizer genericConfig.AdmissionControl = admissionController - genericConfig.APIResourceConfigSource = storageFactory.APIResourceConfigSource genericConfig.OpenAPIConfig.Definitions = openapi.OpenAPIDefinitions genericConfig.EnableOpenAPISupport = true genericConfig.OpenAPIConfig.SecurityDefinitions = securityDefinitions diff --git a/pkg/genericapiserver/config.go b/pkg/genericapiserver/config.go index ed7782ac9a8..692386c0690 100644 --- a/pkg/genericapiserver/config.go +++ b/pkg/genericapiserver/config.go @@ -154,7 +154,6 @@ type Config struct { // values below here are targets for removal //=========================================================================== - APIResourceConfigSource APIResourceConfigSource // The port on PublicAddress where a read-write server will be installed. // Defaults to 6443 if not set. ReadWritePort int diff --git a/pkg/master/master.go b/pkg/master/master.go index 1dfa9467145..357592daa7a 100644 --- a/pkg/master/master.go +++ b/pkg/master/master.go @@ -77,6 +77,7 @@ const ( type Config struct { GenericConfig *genericapiserver.Config + APIResourceConfigSource genericapiserver.APIResourceConfigSource StorageFactory genericapiserver.StorageFactory EnableWatchCache bool EnableCoreControllers bool @@ -231,7 +232,7 @@ func (c completedConfig) New() (*Master, error) { } // install legacy rest storage - if c.GenericConfig.APIResourceConfigSource.AnyResourcesForVersionEnabled(apiv1.SchemeGroupVersion) { + if c.APIResourceConfigSource.AnyResourcesForVersionEnabled(apiv1.SchemeGroupVersion) { legacyRESTStorageProvider := corerest.LegacyRESTStorageProvider{ StorageFactory: c.StorageFactory, ProxyTransport: c.ProxyTransport, @@ -256,7 +257,7 @@ func (c completedConfig) New() (*Master, error) { rbacrest.RESTStorageProvider{}, storagerest.RESTStorageProvider{}, } - m.InstallAPIs(c.Config.GenericConfig.APIResourceConfigSource, restOptionsFactory.NewFor, restStorageProviders...) + m.InstallAPIs(c.Config.APIResourceConfigSource, restOptionsFactory.NewFor, restStorageProviders...) if c.Tunneler != nil { m.installTunneler(c.Tunneler, corev1client.NewForConfigOrDie(c.GenericConfig.LoopbackClientConfig).Nodes()) diff --git a/pkg/master/master_test.go b/pkg/master/master_test.go index 87b324c1f2b..17c7cae4b0d 100644 --- a/pkg/master/master_test.go +++ b/pkg/master/master_test.go @@ -66,9 +66,10 @@ func setUp(t *testing.T) (*Master, *etcdtesting.EtcdTestServer, Config, *assert. server, storageConfig := etcdtesting.NewUnsecuredEtcd3TestClientServer(t) config := &Config{ - GenericConfig: genericapiserver.NewConfig(), - APIServerServicePort: 443, - MasterCount: 1, + GenericConfig: genericapiserver.NewConfig(), + APIResourceConfigSource: DefaultAPIResourceConfigSource(), + APIServerServicePort: 443, + MasterCount: 1, } resourceEncoding := genericapiserver.NewDefaultResourceEncodingConfig() @@ -85,10 +86,8 @@ func setUp(t *testing.T) (*Master, *etcdtesting.EtcdTestServer, Config, *assert. config.GenericConfig.Version = &kubeVersion config.StorageFactory = storageFactory config.GenericConfig.LoopbackClientConfig = &restclient.Config{APIPath: "/api", ContentConfig: restclient.ContentConfig{NegotiatedSerializer: api.Codecs}} - config.GenericConfig.APIResourceConfigSource = DefaultAPIResourceConfigSource() config.GenericConfig.PublicAddress = net.ParseIP("192.168.10.4") config.GenericConfig.LegacyAPIGroupPrefixes = sets.NewString("/api") - config.GenericConfig.APIResourceConfigSource = DefaultAPIResourceConfigSource() config.GenericConfig.RequestContextMapper = api.NewRequestContextMapper() config.GenericConfig.LoopbackClientConfig = &restclient.Config{APIPath: "/api", ContentConfig: restclient.ContentConfig{NegotiatedSerializer: api.Codecs}} config.GenericConfig.EnableMetrics = true @@ -135,7 +134,7 @@ func limitedAPIResourceConfigSource() *genericapiserver.ResourceConfig { // newLimitedMaster only enables the core group, the extensions group, the batch group, and the autoscaling group. func newLimitedMaster(t *testing.T) (*Master, *etcdtesting.EtcdTestServer, Config, *assert.Assertions) { _, etcdserver, config, assert := setUp(t) - config.GenericConfig.APIResourceConfigSource = limitedAPIResourceConfigSource() + config.APIResourceConfigSource = limitedAPIResourceConfigSource() master, err := config.Complete().New() if err != nil { t.Fatalf("Error in bringing up the master: %v", err) diff --git a/test/integration/framework/master_utils.go b/test/integration/framework/master_utils.go index aacd675388a..0326f96bf1a 100644 --- a/test/integration/framework/master_utils.go +++ b/test/integration/framework/master_utils.go @@ -357,19 +357,19 @@ func NewMasterConfig() *master.Config { genericConfig := genericapiserver.NewConfig() kubeVersion := version.Get() genericConfig.Version = &kubeVersion - genericConfig.APIResourceConfigSource = master.DefaultAPIResourceConfigSource() genericConfig.Authorizer = authorizer.NewAlwaysAllowAuthorizer() genericConfig.AdmissionControl = admit.NewAlwaysAdmit() genericConfig.EnableMetrics = true return &master.Config{ - GenericConfig: genericConfig, - StorageFactory: storageFactory, - EnableCoreControllers: true, - EnableWatchCache: true, - KubeletClientConfig: kubeletclient.KubeletClientConfig{Port: 10250}, - APIServerServicePort: 443, - MasterCount: 1, + GenericConfig: genericConfig, + APIResourceConfigSource: master.DefaultAPIResourceConfigSource(), + StorageFactory: storageFactory, + EnableCoreControllers: true, + EnableWatchCache: true, + KubeletClientConfig: kubeletclient.KubeletClientConfig{Port: 10250}, + APIServerServicePort: 443, + MasterCount: 1, } } @@ -378,7 +378,7 @@ func NewIntegrationTestMasterConfig() *master.Config { masterConfig := NewMasterConfig() masterConfig.EnableCoreControllers = true masterConfig.GenericConfig.PublicAddress = net.ParseIP("192.168.10.4") - masterConfig.GenericConfig.APIResourceConfigSource = master.DefaultAPIResourceConfigSource() + masterConfig.APIResourceConfigSource = master.DefaultAPIResourceConfigSource() return masterConfig }