Skip to content

Commit 0724bf3

Browse files
authored
Bug Fix: Graceful Handling of Missing Helm Releases in Unmanaged State (#622)
Signed-off-by: Smyslov Maxim <maksim.smyslov@flant.com> Co-authored-by: Smyslov Maxim <maksim.smyslov@flant.com>
1 parent 0a7cbda commit 0724bf3

File tree

2 files changed

+3
-2
lines changed

2 files changed

+3
-2
lines changed

pkg/helm/helm3lib/helm3lib.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -364,7 +364,7 @@ func (h *LibClient) GetReleaseLabels(releaseName, labelName string) (string, err
364364
gv := action.NewGet(actionConfig)
365365
rel, err := gv.Run(releaseName)
366366
if err != nil {
367-
return "", fmt.Errorf("helm get failed: %s", err)
367+
return "", fmt.Errorf("helm get failed: %w", err)
368368
}
369369

370370
if value, ok := rel.Labels[labelName]; ok {

pkg/module_manager/models/modules/helm.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ import (
1414
"github.com/gofrs/uuid/v5"
1515
"github.com/kennygrant/sanitize"
1616
"go.opentelemetry.io/otel"
17+
"helm.sh/helm/v3/pkg/storage/driver"
1718

1819
"github.com/flant/addon-operator/pkg"
1920
"github.com/flant/addon-operator/pkg/helm"
@@ -210,7 +211,7 @@ func (hm *HelmModule) RunHelmInstall(ctx context.Context, logLabels map[string]s
210211

211212
if state == Unmanaged {
212213
isUnmanaged, err := helmClient.GetReleaseLabels(helmReleaseName, LabelMaintenanceNoResourceReconciliation)
213-
if err != nil && !errors.Is(err, helm3lib.ErrLabelIsNotFound) {
214+
if err != nil && !errors.Is(err, helm3lib.ErrLabelIsNotFound) && !errors.Is(err, driver.ErrReleaseNotFound) {
214215
return fmt.Errorf("get release label failed: %w", err)
215216
}
216217

0 commit comments

Comments
 (0)