From 95a9d5ff20bd0d69afc1783bff8633aff14335d4 Mon Sep 17 00:00:00 2001 From: runzexia Date: Thu, 12 Sep 2019 14:16:26 +0800 Subject: [PATCH] when devops is disabled, there is no need to clean up the devops data. Signed-off-by: runzexia --- cmd/ks-apiserver/app/server.go | 1 - pkg/models/iam/im.go | 22 ++++++++++++++++++++-- 2 files changed, 20 insertions(+), 3 deletions(-) diff --git a/cmd/ks-apiserver/app/server.go b/cmd/ks-apiserver/app/server.go index 2108d36b0..41a2dcdb1 100644 --- a/cmd/ks-apiserver/app/server.go +++ b/cmd/ks-apiserver/app/server.go @@ -189,7 +189,6 @@ func CreateClientSet(conf *apiserverconfig.Config, stopCh <-chan struct{}) error SetPrometheusOptions(conf.MonitoringOptions). SetRedisOptions(conf.RedisOptions) - client.NewClientSetFactory(csop, stopCh) return nil diff --git a/pkg/models/iam/im.go b/pkg/models/iam/im.go index f3bc69e8c..fb87586a5 100644 --- a/pkg/models/iam/im.go +++ b/pkg/models/iam/im.go @@ -598,15 +598,35 @@ func DeleteUser(username string) error { klog.Errorln("delete user terminal pod failed", username, err) } + if err := deleteUserInDevOps(username); err != nil { + klog.Errorln("delete user in devops failed", username, err) + } + return nil + +} + +// deleteUserInDevOps is used to clean up user data of devops, such as permission rules +func deleteUserInDevOps(username string) error { + devopsDb, err := clientset.ClientSets().MySQL() if err != nil { + if _, ok := err.(clientset.ClientSetNotEnabledError); ok { + klog.Warning("devops client is not enable") + return nil + } return err } dp, err := clientset.ClientSets().Devops() if err != nil { + if _, ok := err.(clientset.ClientSetNotEnabledError); ok { + klog.Warning("devops client is not enable") + return nil + } + return err } + jenkinsClient := dp.Jenkins() _, err = devopsDb.DeleteFrom(devops.DevOpsProjectMembershipTableName). @@ -623,9 +643,7 @@ func DeleteUser(username string) error { klog.Errorf("%+v", err) return err } - return nil - } func deleteRoleBindings(username string) error {