From cac919bca44826230da6b560064eada422b53506 Mon Sep 17 00:00:00 2001 From: Iceber Gu Date: Mon, 13 Jun 2022 11:38:31 +0800 Subject: [PATCH] fix the running of the kube-controller-manager Signed-off-by: Iceber Gu --- .../app/controllermanager.go | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/cmd/kube-controller-manager/app/controllermanager.go b/cmd/kube-controller-manager/app/controllermanager.go index dd284fdca85..f1ed3d40ed4 100644 --- a/cmd/kube-controller-manager/app/controllermanager.go +++ b/cmd/kube-controller-manager/app/controllermanager.go @@ -113,33 +113,29 @@ state of the cluster through the apiserver and makes changes attempting to move current state towards the desired state. Examples of controllers that ship with Kubernetes today are the replication controller, endpoints controller, namespace controller, and serviceaccounts controller.`, - PersistentPreRun: func(*cobra.Command, []string) { + PersistentPreRunE: func(*cobra.Command, []string) error { // silence client-go warnings. // kube-controller-manager generically watches APIs (including deprecated ones), // and CI ensures it works properly against matching kube-apiserver versions. restclient.SetDefaultWarningHandler(restclient.NoWarnings{}) + return nil }, - Run: func(cmd *cobra.Command, args []string) { + RunE: func(cmd *cobra.Command, args []string) error { verflag.PrintAndExitIfRequested() // Activate logging as soon as possible, after that // show flags with the final logging configuration. if err := logsapi.ValidateAndApply(s.Logs, utilfeature.DefaultFeatureGate); err != nil { - fmt.Fprintf(os.Stderr, "%v\n", err) - os.Exit(1) + return err } cliflag.PrintFlags(cmd.Flags()) c, err := s.Config(KnownControllers(), ControllersDisabledByDefault.List()) if err != nil { - fmt.Fprintf(os.Stderr, "%v\n", err) - os.Exit(1) + return err } - if err := Run(c.Complete(), wait.NeverStop); err != nil { - fmt.Fprintf(os.Stderr, "%v\n", err) - os.Exit(1) - } + return Run(c.Complete(), wait.NeverStop) }, Args: func(cmd *cobra.Command, args []string) error { for _, arg := range args {