diff --git a/pkg/controllers/openshift-apiserver.go b/pkg/controllers/openshift-apiserver.go index 724540c071..3d6546c9f7 100644 --- a/pkg/controllers/openshift-apiserver.go +++ b/pkg/controllers/openshift-apiserver.go @@ -119,11 +119,9 @@ func (s *OCPAPIServer) Run(ctx context.Context, ready chan<- struct{}, stopped c return err } - stopCh := make(chan struct{}) - if err := s.options.RunAPIServer(stopCh); err != nil { + if err := s.options.RunAPIServer(ctx.Done()); err != nil { klog.Fatalf("Failed to start ocp-apiserver %v", err) } - return ctx.Err() } diff --git a/pkg/controllers/openshift-controller-manager.go b/pkg/controllers/openshift-controller-manager.go index 1e6c83e815..c20fb8bc35 100644 --- a/pkg/controllers/openshift-controller-manager.go +++ b/pkg/controllers/openshift-controller-manager.go @@ -17,7 +17,6 @@ package controllers import ( "context" - "fmt" "io" "io/ioutil" "os" @@ -107,7 +106,7 @@ func (s *OCPControllerManager) Run(ctx context.Context, ready chan<- struct{}, s go func() { healthcheckStatus := util.RetryTCPConnection("127.0.0.1", "8445") if !healthcheckStatus { - klog.Fatalf(s.Name(), fmt.Errorf("healthcheck status"), "%s failed to start") + klog.Fatalf("initial healthcheck on %s failed", s.Name()) } klog.Infof("%s is ready", s.Name()) close(ready) @@ -116,13 +115,18 @@ func (s *OCPControllerManager) Run(ctx context.Context, ready chan<- struct{}, s if err := assets.ApplyNamespaces([]string{ "assets/core/0000_50_cluster-openshift-controller-manager_00_namespace.yaml", }, s.kubeconfig); err != nil { - klog.Warningf("failed to apply openshift namespaces %v", err) + klog.Fatalf("failed to apply openshift namespaces %v", err) } options := openshift_controller_manager.OpenShiftControllerManager{Output: os.Stdout} options.ConfigFilePath = s.ConfigFilePath - if err := options.StartControllerManager(); err != nil { - klog.Fatalf("Failed to start openshift-controller-manager %v", err) - } + + go func() { + if err := options.StartControllerManager(); err != nil { + klog.Fatalf("Failed to start openshift-controller-manager %v", err) + } + }() + + <-ctx.Done() return ctx.Err() } diff --git a/pkg/controllers/openshift-oauth-server.go b/pkg/controllers/openshift-oauth-server.go index bc4d3d3733..5863c5f6c7 100644 --- a/pkg/controllers/openshift-oauth-server.go +++ b/pkg/controllers/openshift-oauth-server.go @@ -102,7 +102,6 @@ func (s *OpenShiftOAuth) configure(cfg *config.MicroshiftConfig) { func (s *OpenShiftOAuth) Run(ctx context.Context, ready chan<- struct{}, stopped chan<- struct{}) error { defer close(stopped) - stopCh := make(chan struct{}) // run readiness check go func() { @@ -114,8 +113,8 @@ func (s *OpenShiftOAuth) Run(ctx context.Context, ready chan<- struct{}, stopped close(ready) }() - if err := oauth_apiserver.RunOAuthAPIServer(s.options, stopCh); err != nil { - return err + if err := oauth_apiserver.RunOAuthAPIServer(s.options, ctx.Done()); err != nil { + klog.Fatalf("Error starting oauth API server: %s", err) } return ctx.Err() diff --git a/pkg/kustomize/apply.go b/pkg/kustomize/apply.go index 9a50fab0d6..0a23f8588d 100644 --- a/pkg/kustomize/apply.go +++ b/pkg/kustomize/apply.go @@ -48,7 +48,7 @@ func (s *Kustomizer) Run(ctx context.Context, ready chan<- struct{}, stopped cha if _, err := os.Stat(kustomization); !errors.Is(err, os.ErrNotExist) { klog.Infof("Applying kustomization at %v ", kustomization) if err := ApplyKustomizationWithRetries(s.path, s.kubeconfig); err != nil { - klog.Warningf("Applying kustomization failed: %s. Giving up.", err) + klog.Fatalf("Applying kustomization failed: %s. Giving up.", err) } else { klog.Warningf("Kustomization applied successfully.") } diff --git a/pkg/node/kube-proxy.go b/pkg/node/kube-proxy.go index b97014ecb6..ea244e2b6a 100644 --- a/pkg/node/kube-proxy.go +++ b/pkg/node/kube-proxy.go @@ -106,9 +106,13 @@ func (s *ProxyOptions) Run(ctx context.Context, ready chan<- struct{}, stopped c klog.Infof("%s is ready", s.Name()) close(ready) }() - if err := s.options.Run(); err != nil { - klog.Fatalf("%s failed to start", s.Name(), err) - } + go func() { + if err := s.options.Run(); err != nil { + klog.Fatalf("%s failed to start %v", s.Name(), err) + } + }() + + <-ctx.Done() return ctx.Err() }