From 13b6a929bc945f2bb97dbf7cd7f0fdd02b49bc0f Mon Sep 17 00:00:00 2001 From: Daniel Smith Date: Fri, 11 Sep 2020 14:17:08 -0700 Subject: [PATCH 1/2] It's an 'Instance' of apiserver --- cmd/kube-apiserver/app/server.go | 2 +- pkg/controlplane/instance.go | 14 +++++++------- test/integration/framework/master_utils.go | 14 +++++++------- test/integration/openshift/openshift_test.go | 2 +- 4 files changed, 16 insertions(+), 16 deletions(-) diff --git a/cmd/kube-apiserver/app/server.go b/cmd/kube-apiserver/app/server.go index 593a8e01411e8..eccf058b917bc 100644 --- a/cmd/kube-apiserver/app/server.go +++ b/cmd/kube-apiserver/app/server.go @@ -225,7 +225,7 @@ func CreateServerChain(completedOptions completedServerRunOptions, stopCh <-chan } // CreateKubeAPIServer creates and wires a workable kube-apiserver -func CreateKubeAPIServer(kubeAPIServerConfig *controlplane.Config, delegateAPIServer genericapiserver.DelegationTarget) (*controlplane.Master, error) { +func CreateKubeAPIServer(kubeAPIServerConfig *controlplane.Config, delegateAPIServer genericapiserver.DelegationTarget) (*controlplane.Instance, error) { kubeAPIServer, err := kubeAPIServerConfig.Complete().New(delegateAPIServer) if err != nil { return nil, err diff --git a/pkg/controlplane/instance.go b/pkg/controlplane/instance.go index 4acd4edad996a..a443604bccc54 100644 --- a/pkg/controlplane/instance.go +++ b/pkg/controlplane/instance.go @@ -223,8 +223,8 @@ type EndpointReconcilerConfig struct { Interval time.Duration } -// Master contains state for a Kubernetes cluster master/api server. -type Master struct { +// Instance contains state for a Kubernetes cluster api server instance. +type Instance struct { GenericAPIServer *genericapiserver.GenericAPIServer ClusterAuthenticationInfo clusterauthenticationtrust.ClusterAuthenticationInfo @@ -334,7 +334,7 @@ func (c *Config) Complete() CompletedConfig { // Certain config fields will be set to a default value if unset. // Certain config fields must be specified, including: // KubeletClientConfig -func (c completedConfig) New(delegationTarget genericapiserver.DelegationTarget) (*Master, error) { +func (c completedConfig) New(delegationTarget genericapiserver.DelegationTarget) (*Instance, error) { if reflect.DeepEqual(c.ExtraConfig.KubeletClientConfig, kubeletclient.KubeletClientConfig{}) { return nil, fmt.Errorf("Master.New() called with empty config.KubeletClientConfig") } @@ -381,7 +381,7 @@ func (c completedConfig) New(delegationTarget genericapiserver.DelegationTarget) } } - m := &Master{ + m := &Instance{ GenericAPIServer: s, ClusterAuthenticationInfo: c.ExtraConfig.ClusterAuthenticationInfo, } @@ -486,7 +486,7 @@ func (c completedConfig) New(delegationTarget genericapiserver.DelegationTarget) } // InstallLegacyAPI will install the legacy APIs for the restStorageProviders if they are enabled. -func (m *Master) InstallLegacyAPI(c *completedConfig, restOptionsGetter generic.RESTOptionsGetter, legacyRESTStorageProvider corerest.LegacyRESTStorageProvider) error { +func (m *Instance) InstallLegacyAPI(c *completedConfig, restOptionsGetter generic.RESTOptionsGetter, legacyRESTStorageProvider corerest.LegacyRESTStorageProvider) error { legacyRESTStorage, apiGroupInfo, err := legacyRESTStorageProvider.NewLegacyRESTStorage(restOptionsGetter) if err != nil { return fmt.Errorf("error building core storage: %v", err) @@ -504,7 +504,7 @@ func (m *Master) InstallLegacyAPI(c *completedConfig, restOptionsGetter generic. return nil } -func (m *Master) installTunneler(nodeTunneler tunneler.Tunneler, nodeClient corev1client.NodeInterface) { +func (m *Instance) installTunneler(nodeTunneler tunneler.Tunneler, nodeClient corev1client.NodeInterface) { nodeTunneler.Run(nodeAddressProvider{nodeClient}.externalAddresses) err := m.GenericAPIServer.AddHealthChecks(healthz.NamedCheck("SSH Tunnel Check", tunneler.TunnelSyncHealthChecker(nodeTunneler))) if err != nil { @@ -519,7 +519,7 @@ type RESTStorageProvider interface { } // InstallAPIs will install the APIs for the restStorageProviders if they are enabled. -func (m *Master) InstallAPIs(apiResourceConfigSource serverstorage.APIResourceConfigSource, restOptionsGetter generic.RESTOptionsGetter, restStorageProviders ...RESTStorageProvider) error { +func (m *Instance) InstallAPIs(apiResourceConfigSource serverstorage.APIResourceConfigSource, restOptionsGetter generic.RESTOptionsGetter, restStorageProviders ...RESTStorageProvider) error { apiGroupsInfo := []*genericapiserver.APIGroupInfo{} for _, restStorageBuilder := range restStorageProviders { diff --git a/test/integration/framework/master_utils.go b/test/integration/framework/master_utils.go index fdb71226a063b..127f86bce2e55 100644 --- a/test/integration/framework/master_utils.go +++ b/test/integration/framework/master_utils.go @@ -89,17 +89,17 @@ func alwaysEmpty(req *http.Request) (*authauthenticator.Response, bool, error) { // MasterReceiver can be used to provide the master to a custom incoming server function type MasterReceiver interface { - SetMaster(m *controlplane.Master) + SetMaster(m *controlplane.Instance) } // MasterHolder implements type MasterHolder struct { Initialized chan struct{} - M *controlplane.Master + M *controlplane.Instance } // SetMaster assigns the current master. -func (h *MasterHolder) SetMaster(m *controlplane.Master) { +func (h *MasterHolder) SetMaster(m *controlplane.Instance) { h.M = m close(h.Initialized) } @@ -124,8 +124,8 @@ func DefaultOpenAPIConfig() *openapicommon.Config { } // startMasterOrDie starts a kubernetes master and an httpserver to handle api requests -func startMasterOrDie(masterConfig *controlplane.Config, incomingServer *httptest.Server, masterReceiver MasterReceiver) (*controlplane.Master, *httptest.Server, CloseFunc) { - var m *controlplane.Master +func startMasterOrDie(masterConfig *controlplane.Config, incomingServer *httptest.Server, masterReceiver MasterReceiver) (*controlplane.Instance, *httptest.Server, CloseFunc) { + var m *controlplane.Instance var s *httptest.Server // Ensure we log at least level 4 @@ -333,7 +333,7 @@ func NewMasterConfigWithOptions(opts *MasterConfigOptions) *controlplane.Config type CloseFunc func() // RunAMaster starts a master with the provided config. -func RunAMaster(masterConfig *controlplane.Config) (*controlplane.Master, *httptest.Server, CloseFunc) { +func RunAMaster(masterConfig *controlplane.Config) (*controlplane.Instance, *httptest.Server, CloseFunc) { if masterConfig == nil { masterConfig = NewMasterConfig() masterConfig.GenericConfig.EnableProfiling = true @@ -342,7 +342,7 @@ func RunAMaster(masterConfig *controlplane.Config) (*controlplane.Master, *httpt } // RunAMasterUsingServer starts up a master using the provided config on the specified server. -func RunAMasterUsingServer(masterConfig *controlplane.Config, s *httptest.Server, masterReceiver MasterReceiver) (*controlplane.Master, *httptest.Server, CloseFunc) { +func RunAMasterUsingServer(masterConfig *controlplane.Config, s *httptest.Server, masterReceiver MasterReceiver) (*controlplane.Instance, *httptest.Server, CloseFunc) { return startMasterOrDie(masterConfig, s, masterReceiver) } diff --git a/test/integration/openshift/openshift_test.go b/test/integration/openshift/openshift_test.go index 830769d522655..8e903eea52cee 100644 --- a/test/integration/openshift/openshift_test.go +++ b/test/integration/openshift/openshift_test.go @@ -34,7 +34,7 @@ func TestMasterExportsSymbols(t *testing.T) { EnableLogsSupport: false, }, } - _ = &controlplane.Master{ + _ = &controlplane.Instance{ GenericAPIServer: &genericapiserver.GenericAPIServer{}, } } From 2853143ce7a377b55c8ee1362eb0184cfe770793 Mon Sep 17 00:00:00 2001 From: Aaron Crickenberger Date: Thu, 24 Sep 2020 16:30:08 -0400 Subject: [PATCH 2/2] address instance_test nits --- pkg/controlplane/instance_test.go | 44 +++++++++++++++---------------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/pkg/controlplane/instance_test.go b/pkg/controlplane/instance_test.go index 014f70fafc6cc..552d4e0eacb8d 100644 --- a/pkg/controlplane/instance_test.go +++ b/pkg/controlplane/instance_test.go @@ -76,7 +76,7 @@ func setUp(t *testing.T) (*etcd3testing.EtcdTestServer, Config, *assert.Assertio } resourceEncoding := serverstorage.NewDefaultResourceEncodingConfig(legacyscheme.Scheme) - // This configures the testing master the same way the real master is + // This configures the testing apiserver the same way the real apiserver is // configured. The storage versions of these resources are different // from the storage versions of other resources in their group. resourceEncodingOverrides := []schema.GroupVersionResource{ @@ -141,20 +141,20 @@ func (fakeLocalhost443Listener) Addr() net.Addr { // their various strategies properly wired up. This surfaced as a bug where strategies defined Export functions, but // they were never used outside of unit tests because the export strategies were not assigned inside the Store. func TestLegacyRestStorageStrategies(t *testing.T) { - _, etcdserver, masterCfg, _ := newMaster(t) + _, etcdserver, apiserverCfg, _ := newInstance(t) defer etcdserver.Terminate(t) storageProvider := corerest.LegacyRESTStorageProvider{ - StorageFactory: masterCfg.ExtraConfig.StorageFactory, - ProxyTransport: masterCfg.ExtraConfig.ProxyTransport, - KubeletClientConfig: masterCfg.ExtraConfig.KubeletClientConfig, - EventTTL: masterCfg.ExtraConfig.EventTTL, - ServiceIPRange: masterCfg.ExtraConfig.ServiceIPRange, - ServiceNodePortRange: masterCfg.ExtraConfig.ServiceNodePortRange, - LoopbackClientConfig: masterCfg.GenericConfig.LoopbackClientConfig, + StorageFactory: apiserverCfg.ExtraConfig.StorageFactory, + ProxyTransport: apiserverCfg.ExtraConfig.ProxyTransport, + KubeletClientConfig: apiserverCfg.ExtraConfig.KubeletClientConfig, + EventTTL: apiserverCfg.ExtraConfig.EventTTL, + ServiceIPRange: apiserverCfg.ExtraConfig.ServiceIPRange, + ServiceNodePortRange: apiserverCfg.ExtraConfig.ServiceNodePortRange, + LoopbackClientConfig: apiserverCfg.GenericConfig.LoopbackClientConfig, } - _, apiGroupInfo, err := storageProvider.NewLegacyRESTStorage(masterCfg.GenericConfig.RESTOptionsGetter) + _, apiGroupInfo, err := storageProvider.NewLegacyRESTStorage(apiserverCfg.GenericConfig.RESTOptionsGetter) if err != nil { t.Errorf("failed to create legacy REST storage: %v", err) } @@ -177,11 +177,11 @@ func TestLegacyRestStorageStrategies(t *testing.T) { } func TestCertificatesRestStorageStrategies(t *testing.T) { - _, etcdserver, masterCfg, _ := newMaster(t) + _, etcdserver, apiserverCfg, _ := newInstance(t) defer etcdserver.Terminate(t) certStorageProvider := certificatesrest.RESTStorageProvider{} - apiGroupInfo, _, err := certStorageProvider.NewRESTStorage(masterCfg.ExtraConfig.APIResourceConfigSource, masterCfg.GenericConfig.RESTOptionsGetter) + apiGroupInfo, _, err := certStorageProvider.NewRESTStorage(apiserverCfg.ExtraConfig.APIResourceConfigSource, apiserverCfg.GenericConfig.RESTOptionsGetter) if err != nil { t.Fatalf("unexpected error from REST storage: %v", err) } @@ -199,20 +199,20 @@ func TestCertificatesRestStorageStrategies(t *testing.T) { } } -func newMaster(t *testing.T) (*Master, *etcd3testing.EtcdTestServer, Config, *assert.Assertions) { +func newInstance(t *testing.T) (*Instance, *etcd3testing.EtcdTestServer, Config, *assert.Assertions) { etcdserver, config, assert := setUp(t) - master, err := config.Complete().New(genericapiserver.NewEmptyDelegate()) + apiserver, err := config.Complete().New(genericapiserver.NewEmptyDelegate()) if err != nil { t.Fatalf("Error in bringing up the master: %v", err) } - return master, etcdserver, config, assert + return apiserver, etcdserver, config, assert } // TestVersion tests /version func TestVersion(t *testing.T) { - s, etcdserver, _, _ := newMaster(t) + s, etcdserver, _, _ := newInstance(t) defer etcdserver.Terminate(t) req, _ := http.NewRequest("GET", "/version", nil) @@ -301,10 +301,10 @@ func decodeResponse(resp *http.Response, obj interface{}) error { // Because we need to be backwards compatible with release 1.1, at endpoints // that exist in release 1.1, the responses should have empty APIVersion. func TestAPIVersionOfDiscoveryEndpoints(t *testing.T) { - master, etcdserver, _, assert := newMaster(t) + apiserver, etcdserver, _, assert := newInstance(t) defer etcdserver.Terminate(t) - server := httptest.NewServer(master.GenericAPIServer.Handler.GoRestfulContainer.ServeMux) + server := httptest.NewServer(apiserver.GenericAPIServer.Handler.GoRestfulContainer.ServeMux) // /api exists in release-1.1 resp, err := http.Get(server.URL + "/api") @@ -376,10 +376,10 @@ func TestAPIVersionOfDiscoveryEndpoints(t *testing.T) { // This test doesn't cover the apiregistration and apiextensions group, as they are installed by other apiservers. func TestStorageVersionHashes(t *testing.T) { - master, etcdserver, _, _ := newMaster(t) + apiserver, etcdserver, _, _ := newInstance(t) defer etcdserver.Terminate(t) - server := httptest.NewServer(master.GenericAPIServer.Handler.GoRestfulContainer.ServeMux) + server := httptest.NewServer(apiserver.GenericAPIServer.Handler.GoRestfulContainer.ServeMux) c := &restclient.Config{ Host: server.URL, @@ -420,10 +420,10 @@ func TestStorageVersionHashes(t *testing.T) { } func TestStorageVersionHashEqualities(t *testing.T) { - master, etcdserver, _, assert := newMaster(t) + apiserver, etcdserver, _, assert := newInstance(t) defer etcdserver.Terminate(t) - server := httptest.NewServer(master.GenericAPIServer.Handler.GoRestfulContainer.ServeMux) + server := httptest.NewServer(apiserver.GenericAPIServer.Handler.GoRestfulContainer.ServeMux) // Test 1: extensions/v1beta1/ingresses and apps/v1/ingresses have // the same storage version hash.