Skip to content

Commit 8c8794d

Browse files
authored
Fix: the return error is changed by the defer function (#228)
Signed-off-by: Daniel Hu <[email protected]>
1 parent 2ae90af commit 8c8794d

File tree

3 files changed

+34
-31
lines changed

3 files changed

+34
-31
lines changed

internal/pkg/plugin/argocd/create.go

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -28,27 +28,27 @@ func Create(options *map[string]interface{}) (map[string]interface{}, error) {
2828
return nil, err
2929
}
3030

31-
var err error
31+
var retErr error
3232
defer func() {
33-
if err == nil {
33+
if retErr == nil {
3434
return
3535
}
36-
if err = dealWithNsWhenInterruption(&param); err != nil {
36+
if err := dealWithNsWhenInterruption(&param); err != nil {
3737
log.Errorf("Failed to deal with namespace: %s.", err)
3838
}
3939
log.Debugf("Deal with namespace when interruption succeeded.")
4040
}()
4141

4242
var h *helm.Helm
43-
h, err = helm.NewHelm(param.GetHelmParam())
44-
if err != nil {
45-
return nil, err
43+
h, retErr = helm.NewHelm(param.GetHelmParam())
44+
if retErr != nil {
45+
return nil, retErr
4646
}
4747

4848
log.Info("Creating or updating argocd helm chart ...")
49-
if err = h.InstallOrUpgradeChart(); err != nil {
50-
log.Debugf("Failed to install or upgrade the Chart: %s.", err)
51-
return nil, err
49+
if retErr = h.InstallOrUpgradeChart(); retErr != nil {
50+
log.Debugf("Failed to install or upgrade the Chart: %s.", retErr)
51+
return nil, retErr
5252
}
5353

5454
retMap := GetStaticState().ToStringInterfaceMap()
@@ -60,6 +60,7 @@ func Create(options *map[string]interface{}) (map[string]interface{}, error) {
6060
// TODO(daniel-hutao): All helm-style plugins has this code logic, maybe it's better to move it to a common package.
6161
func dealWithNsWhenInstall(param *Param) error {
6262
if !param.CreateNamespace {
63+
log.Debugf("There's no need to delete the namespace for the create_namespace == false in the config file.")
6364
return nil
6465
}
6566

internal/pkg/plugin/jenkins/create.go

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -30,38 +30,38 @@ func Create(options *map[string]interface{}) (map[string]interface{}, error) {
3030
return nil, err
3131
}
3232

33-
var err error
33+
var retErr error
3434
defer func() {
35-
if err == nil {
35+
if retErr == nil {
3636
return
3737
}
38-
if err = dealWithNsWhenInterruption(&param); err != nil {
38+
if err := dealWithNsWhenInterruption(&param); err != nil {
3939
log.Errorf("Failed to deal with namespace: %s.", err)
4040
}
4141
log.Debugf("Deal with namespace when interruption succeeded.")
4242

4343
// Clear all the resources have been created if the creation process interruption.
44-
if err = postDelete(); err != nil {
44+
if err := postDelete(); err != nil {
4545
log.Errorf("Failed to clear the resources have been created: %s.", err)
4646
}
4747
}()
4848

4949
var h *helm.Helm
50-
h, err = helm.NewHelm(param.GetHelmParam())
51-
if err != nil {
52-
return nil, err
50+
h, retErr = helm.NewHelm(param.GetHelmParam())
51+
if retErr != nil {
52+
return nil, retErr
5353
}
5454

5555
// pre-create
56-
if err = preCreate(); err != nil {
57-
log.Errorf("The pre-create logic failed: %s.", err)
58-
return nil, err
56+
if retErr = preCreate(); retErr != nil {
57+
log.Errorf("The pre-create logic failed: %s.", retErr)
58+
return nil, retErr
5959
}
6060

6161
log.Info("Installing or updating jenkins helm chart ...")
62-
if err = h.InstallOrUpgradeChart(); err != nil {
63-
log.Debugf("Failed to install or upgrade the Chart: %s.", err)
64-
return nil, err
62+
if retErr = h.InstallOrUpgradeChart(); retErr != nil {
63+
log.Debugf("Failed to install or upgrade the Chart: %s.", retErr)
64+
return nil, retErr
6565
}
6666

6767
releaseName := param.Chart.ReleaseName
@@ -74,6 +74,7 @@ func Create(options *map[string]interface{}) (map[string]interface{}, error) {
7474
// TODO(daniel-hutao): All helm-style plugins has this code logic, maybe it's better to move it to a common package.
7575
func dealWithNsWhenInstall(param *Param) error {
7676
if !param.CreateNamespace {
77+
log.Debugf("There's no need to delete the namespace for the create_namespace == false in the config file.")
7778
return nil
7879
}
7980

internal/pkg/plugin/kubeprometheus/create.go

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -28,27 +28,27 @@ func Create(options *map[string]interface{}) (map[string]interface{}, error) {
2828
return nil, err
2929
}
3030

31-
var err error
31+
var retErr error
3232
defer func() {
33-
if err == nil {
33+
if retErr == nil {
3434
return
3535
}
36-
if err = dealWithNsWhenInterruption(&param); err != nil {
36+
if err := dealWithNsWhenInterruption(&param); err != nil {
3737
log.Errorf("Failed to deal with namespace: %s.", err)
3838
}
3939
log.Debugf("Deal with namespace when interruption succeeded.")
4040
}()
4141

4242
var h *helm.Helm
43-
h, err = helm.NewHelm(param.GetHelmParam())
44-
if err != nil {
45-
return nil, err
43+
h, retErr = helm.NewHelm(param.GetHelmParam())
44+
if retErr != nil {
45+
return nil, retErr
4646
}
4747

4848
log.Info("Installing or updating kube-prometheus-stack helm chart ...")
49-
if err = h.InstallOrUpgradeChart(); err != nil {
50-
log.Debugf("Failed to install or upgrade the Chart: %s.", err)
51-
return nil, err
49+
if retErr = h.InstallOrUpgradeChart(); retErr != nil {
50+
log.Debugf("Failed to install or upgrade the Chart: %s.", retErr)
51+
return nil, retErr
5252
}
5353

5454
releaseName := param.Chart.ReleaseName
@@ -61,6 +61,7 @@ func Create(options *map[string]interface{}) (map[string]interface{}, error) {
6161
// TODO(daniel-hutao): All helm-style plugins has this code logic, maybe it's better to move it to a common package.
6262
func dealWithNsWhenInstall(param *Param) error {
6363
if !param.CreateNamespace {
64+
log.Debugf("There's no need to delete the namespace for the create_namespace == false in the config file.")
6465
return nil
6566
}
6667

0 commit comments

Comments
 (0)