未验证 提交 e7c5c5a1 编写于 作者: Z zryfish 提交者: GitHub

fix namespace controller crash when openpitrix is not enabled (#2167)

上级 4f98fac3
...@@ -37,6 +37,7 @@ import ( ...@@ -37,6 +37,7 @@ import (
"kubesphere.io/kubesphere/pkg/controller/user" "kubesphere.io/kubesphere/pkg/controller/user"
"kubesphere.io/kubesphere/pkg/controller/workspace" "kubesphere.io/kubesphere/pkg/controller/workspace"
"kubesphere.io/kubesphere/pkg/informers" "kubesphere.io/kubesphere/pkg/informers"
"kubesphere.io/kubesphere/pkg/simple/client/devops"
"kubesphere.io/kubesphere/pkg/simple/client/devops/jenkins" "kubesphere.io/kubesphere/pkg/simple/client/devops/jenkins"
"kubesphere.io/kubesphere/pkg/simple/client/k8s" "kubesphere.io/kubesphere/pkg/simple/client/k8s"
"kubesphere.io/kubesphere/pkg/simple/client/openpitrix" "kubesphere.io/kubesphere/pkg/simple/client/openpitrix"
...@@ -102,22 +103,31 @@ func Run(s *options.KubeSphereControllerManagerOptions, stopCh <-chan struct{}) ...@@ -102,22 +103,31 @@ func Run(s *options.KubeSphereControllerManagerOptions, stopCh <-chan struct{})
return err return err
} }
openpitrixClient, err := openpitrix.NewClient(s.OpenPitrixOptions) var openpitrixClient openpitrix.Client
if err != nil { if s.OpenPitrixOptions != nil && !s.OpenPitrixOptions.IsEmpty() {
klog.Errorf("Failed to create openpitrix client %v", err) openpitrixClient, err = openpitrix.NewClient(s.OpenPitrixOptions)
return err if err != nil {
klog.Errorf("Failed to create openpitrix client %v", err)
return err
}
} }
devopsClient, err := jenkins.NewDevopsClient(s.DevopsOptions) var devopsClient devops.Interface
if err != nil { if s.DevopsOptions != nil && len(s.DevopsOptions.Host) != 0 {
klog.Errorf("Failed to create devops client %v", err) devopsClient, err = jenkins.NewDevopsClient(s.DevopsOptions)
return err if err != nil {
klog.Errorf("Failed to create devops client %v", err)
return err
}
} }
s3Client, err := s3.NewS3Client(s.S3Options) var s3Client s3.Interface
if err != nil { if s.S3Options != nil && len(s.S3Options.Endpoint) != 0 {
klog.Errorf("Failed to create s3 client %v", err) s3Client, err = s3.NewS3Client(s.S3Options)
return err if err != nil {
klog.Errorf("Failed to create s3 client %v", err)
return err
}
} }
informerFactory := informers.NewInformerFactories(kubernetesClient.Kubernetes(), kubernetesClient.KubeSphere(), informerFactory := informers.NewInformerFactories(kubernetesClient.Kubernetes(), kubernetesClient.KubeSphere(),
......
...@@ -186,6 +186,10 @@ func newAppManagerClient(endpoint string) (pb.AppManagerClient, error) { ...@@ -186,6 +186,10 @@ func newAppManagerClient(endpoint string) (pb.AppManagerClient, error) {
// will return a nil client and nil error if endpoint is empty // will return a nil client and nil error if endpoint is empty
func NewClient(options *Options) (Client, error) { func NewClient(options *Options) (Client, error) {
if options.IsEmpty() {
return nil, nil
}
runtimeMangerClient, err := newRuntimeManagerClient(options.RuntimeManagerEndpoint) runtimeMangerClient, err := newRuntimeManagerClient(options.RuntimeManagerEndpoint)
if err != nil { if err != nil {
klog.Error(err) klog.Error(err)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册