From 4fc56de7c0f18e0c7c65304b536ac53f7e392f6a Mon Sep 17 00:00:00 2001 From: shaowenchen Date: Wed, 13 May 2020 21:32:31 +0800 Subject: [PATCH 1/6] fix create devopsproject --- pkg/controller/devopsproject/devopsproject_controller.go | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkg/controller/devopsproject/devopsproject_controller.go b/pkg/controller/devopsproject/devopsproject_controller.go index f61669abe..7de238b02 100644 --- a/pkg/controller/devopsproject/devopsproject_controller.go +++ b/pkg/controller/devopsproject/devopsproject_controller.go @@ -283,15 +283,15 @@ func (c *Controller) syncHandler(key string) error { // Check project exists, otherwise we will create it. _, err := c.devopsClient.GetDevOpsProject(copyProject.Status.AdminNamespace) if err != nil && devopsClient.GetDevOpsStatusCode(err) != http.StatusNotFound { - klog.Error(err, fmt.Sprintf("failed to get project %s ", key)) - return err - } else { _, err := c.devopsClient.CreateDevOpsProject(copyProject.Status.AdminNamespace) if err != nil { klog.Error(err, fmt.Sprintf("failed to get project %s ", key)) return err } - } + } else { + klog.Error(err, fmt.Sprintf("failed to get project %s ", key)) + return err + } } else { // Finalizers processing logic From 4f9c77383e7ffc6ade6aac16b95ee53753f077e8 Mon Sep 17 00:00:00 2001 From: shaowenchen Date: Wed, 13 May 2020 21:34:16 +0800 Subject: [PATCH 2/6] fix create devopsproject --- pkg/controller/devopsproject/devopsproject_controller.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/controller/devopsproject/devopsproject_controller.go b/pkg/controller/devopsproject/devopsproject_controller.go index 7de238b02..e9c93bd89 100644 --- a/pkg/controller/devopsproject/devopsproject_controller.go +++ b/pkg/controller/devopsproject/devopsproject_controller.go @@ -290,7 +290,7 @@ func (c *Controller) syncHandler(key string) error { } } else { klog.Error(err, fmt.Sprintf("failed to get project %s ", key)) - return err + return err } } else { From f52cb829c2349cca26e30a3d5baedec306927de1 Mon Sep 17 00:00:00 2001 From: shaowenchen Date: Wed, 13 May 2020 23:01:26 +0800 Subject: [PATCH 3/6] fix create devops --- pkg/controller/devopsproject/devopsproject_controller.go | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/pkg/controller/devopsproject/devopsproject_controller.go b/pkg/controller/devopsproject/devopsproject_controller.go index e9c93bd89..9e5840562 100644 --- a/pkg/controller/devopsproject/devopsproject_controller.go +++ b/pkg/controller/devopsproject/devopsproject_controller.go @@ -282,16 +282,14 @@ func (c *Controller) syncHandler(key string) error { } // Check project exists, otherwise we will create it. _, err := c.devopsClient.GetDevOpsProject(copyProject.Status.AdminNamespace) - if err != nil && devopsClient.GetDevOpsStatusCode(err) != http.StatusNotFound { + if err != nil { + klog.Error(err, fmt.Sprintf("failed to get project %s ", key)) _, err := c.devopsClient.CreateDevOpsProject(copyProject.Status.AdminNamespace) if err != nil { klog.Error(err, fmt.Sprintf("failed to get project %s ", key)) return err } - } else { - klog.Error(err, fmt.Sprintf("failed to get project %s ", key)) - return err - } + } } else { // Finalizers processing logic From 9b656196e3b7553cf5acea6fa53317d16cd5f1c8 Mon Sep 17 00:00:00 2001 From: shaowenchen Date: Wed, 13 May 2020 23:13:13 +0800 Subject: [PATCH 4/6] fix delete devops --- .../devopsproject/devopsproject_controller.go | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/pkg/controller/devopsproject/devopsproject_controller.go b/pkg/controller/devopsproject/devopsproject_controller.go index 9e5840562..88d08f215 100644 --- a/pkg/controller/devopsproject/devopsproject_controller.go +++ b/pkg/controller/devopsproject/devopsproject_controller.go @@ -22,7 +22,6 @@ import ( devopsClient "kubesphere.io/kubesphere/pkg/simple/client/devops" "kubesphere.io/kubesphere/pkg/utils/k8sutil" "kubesphere.io/kubesphere/pkg/utils/sliceutil" - "net/http" "reflect" "sigs.k8s.io/controller-runtime/pkg/controller/controllerutil" "time" @@ -295,15 +294,9 @@ func (c *Controller) syncHandler(key string) error { // Finalizers processing logic if sliceutil.HasString(project.ObjectMeta.Finalizers, devopsv1alpha3.DevOpsProjectFinalizerName) { _, err := c.devopsClient.GetDevOpsProject(key) - if err != nil && devopsClient.GetDevOpsStatusCode(err) != http.StatusNotFound { - klog.Error(err, fmt.Sprintf("failed to get project %s ", key)) + if err := c.deleteDevOpsProjectInDevOps(project); err != nil { + klog.Error(err, fmt.Sprintf("failed to delete resource %s in devops", key)) return err - } else if err != nil && devopsClient.GetDevOpsStatusCode(err) == http.StatusNotFound { - } else { - if err := c.deleteDevOpsProjectInDevOps(project); err != nil { - klog.Error(err, fmt.Sprintf("failed to delete resource %s in devops", key)) - return err - } } project.ObjectMeta.Finalizers = sliceutil.RemoveString(project.ObjectMeta.Finalizers, func(item string) bool { return item == devopsv1alpha3.DevOpsProjectFinalizerName From 8f40bb2d3e7961fca7e75a527c88b7d07896b803 Mon Sep 17 00:00:00 2001 From: shaowenchen Date: Thu, 14 May 2020 10:01:46 +0800 Subject: [PATCH 5/6] fix delete devops failed --- pkg/controller/devopsproject/devopsproject_controller.go | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/pkg/controller/devopsproject/devopsproject_controller.go b/pkg/controller/devopsproject/devopsproject_controller.go index 88d08f215..f4538cf46 100644 --- a/pkg/controller/devopsproject/devopsproject_controller.go +++ b/pkg/controller/devopsproject/devopsproject_controller.go @@ -293,7 +293,6 @@ func (c *Controller) syncHandler(key string) error { } else { // Finalizers processing logic if sliceutil.HasString(project.ObjectMeta.Finalizers, devopsv1alpha3.DevOpsProjectFinalizerName) { - _, err := c.devopsClient.GetDevOpsProject(key) if err := c.deleteDevOpsProjectInDevOps(project); err != nil { klog.Error(err, fmt.Sprintf("failed to delete resource %s in devops", key)) return err @@ -315,7 +314,7 @@ func (c *Controller) syncHandler(key string) error { func (c *Controller) deleteDevOpsProjectInDevOps(project *devopsv1alpha3.DevOpsProject) error { - err := c.devopsClient.DeleteDevOpsProject(project.Name) + err := c.devopsClient.DeleteDevOpsProject(project.Status.AdminNamespace) if err != nil { klog.Errorf("error happened while deleting %s, %v", project.Name, err) } From 78080afbf5b83a8951ac39b6bc33206fef49256b Mon Sep 17 00:00:00 2001 From: shaowenchen Date: Thu, 14 May 2020 19:09:53 +0800 Subject: [PATCH 6/6] fix test --- pkg/controller/devopsproject/devopsproject_controller_test.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/controller/devopsproject/devopsproject_controller_test.go b/pkg/controller/devopsproject/devopsproject_controller_test.go index 900a58088..64ab7aa25 100644 --- a/pkg/controller/devopsproject/devopsproject_controller_test.go +++ b/pkg/controller/devopsproject/devopsproject_controller_test.go @@ -385,7 +385,7 @@ func TestDeleteDevOpsProjects(t *testing.T) { f.devopsProjectLister = append(f.devopsProjectLister, project) f.objects = append(f.objects, project) f.initDevOpsProject = []string{project.Name} - f.expectDevOpsProject = []string{} + f.expectDevOpsProject = []string{project.Name} expectProject := project.DeepCopy() expectProject.Finalizers = []string{} f.expectUpdateDevOpsProjectAction(expectProject)