From b1f67e933071ace0fc8207e962ac58c4ccebe2e4 Mon Sep 17 00:00:00 2001 From: David Eads Date: Fri, 1 Feb 2019 15:16:23 -0500 Subject: [PATCH] catch some unhandled errors --- cmd/kube-apiserver/app/aggregator.go | 16 ++++++++++++---- cmd/kube-apiserver/app/apiextensions.go | 5 ++++- 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/cmd/kube-apiserver/app/aggregator.go b/cmd/kube-apiserver/app/aggregator.go index ebe612f428..ee42f6a5a6 100644 --- a/cmd/kube-apiserver/app/aggregator.go +++ b/cmd/kube-apiserver/app/aggregator.go @@ -66,12 +66,15 @@ func createAggregatorConfig( // override genericConfig.AdmissionControl with kube-aggregator's scheme, // because aggregator apiserver should use its own scheme to convert its own resources. - commandOptions.Admission.ApplyTo( + err := commandOptions.Admission.ApplyTo( &genericConfig, externalInformers, genericConfig.LoopbackClientConfig, aggregatorscheme.Scheme, pluginInitializers...) + if err != nil { + return nil, err + } // copy the etcd options so we don't mutate originals. etcdOptions := *commandOptions.Etcd @@ -87,7 +90,6 @@ func createAggregatorConfig( return nil, err } - var err error var certBytes, keyBytes []byte if len(commandOptions.ProxyClientCertFile) > 0 && len(commandOptions.ProxyClientKeyFile) > 0 { certBytes, err = ioutil.ReadFile(commandOptions.ProxyClientCertFile) @@ -133,7 +135,7 @@ func createAggregatorServer(aggregatorConfig *aggregatorapiserver.Config, delega apiExtensionInformers.Apiextensions().InternalVersion().CustomResourceDefinitions(), autoRegistrationController) - aggregatorServer.GenericAPIServer.AddPostStartHook("kube-apiserver-autoregistration", func(context genericapiserver.PostStartHookContext) error { + err = aggregatorServer.GenericAPIServer.AddPostStartHook("kube-apiserver-autoregistration", func(context genericapiserver.PostStartHookContext) error { go crdRegistrationController.Run(5, context.StopCh) go func() { // let the CRD controller process the initial set of CRDs before starting the autoregistration controller. @@ -146,14 +148,20 @@ func createAggregatorServer(aggregatorConfig *aggregatorapiserver.Config, delega }() return nil }) + if err != nil { + return nil, err + } - aggregatorServer.GenericAPIServer.AddHealthzChecks( + err = aggregatorServer.GenericAPIServer.AddHealthzChecks( makeAPIServiceAvailableHealthzCheck( "autoregister-completion", apiServices, aggregatorServer.APIRegistrationInformers.Apiregistration().InternalVersion().APIServices(), ), ) + if err != nil { + return nil, err + } return aggregatorServer, nil } diff --git a/cmd/kube-apiserver/app/apiextensions.go b/cmd/kube-apiserver/app/apiextensions.go index d179644a25..181ca71585 100644 --- a/cmd/kube-apiserver/app/apiextensions.go +++ b/cmd/kube-apiserver/app/apiextensions.go @@ -48,12 +48,15 @@ func createAPIExtensionsConfig( // override genericConfig.AdmissionControl with apiextensions' scheme, // because apiextentions apiserver should use its own scheme to convert resources. - commandOptions.Admission.ApplyTo( + err := commandOptions.Admission.ApplyTo( &genericConfig, externalInformers, genericConfig.LoopbackClientConfig, apiextensionsapiserver.Scheme, pluginInitializers...) + if err != nil { + return nil, err + } // copy the etcd options so we don't mutate originals. etcdOptions := *commandOptions.Etcd