Skip to content
This repository has been archived by the owner on Nov 1, 2022. It is now read-only.

Commit

Permalink
helm: reduce amount of error wrapping
Browse files Browse the repository at this point in the history
  • Loading branch information
hiddeco committed Mar 19, 2020
1 parent e8fcfb6 commit 3aa6b4d
Show file tree
Hide file tree
Showing 12 changed files with 22 additions and 40 deletions.
4 changes: 1 addition & 3 deletions pkg/helm/v2/get.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,6 @@ package v2
import (
"strings"

"github.com/pkg/errors"

helmv2 "k8s.io/helm/pkg/helm"

"github.com/fluxcd/helm-operator/pkg/helm"
Expand All @@ -17,7 +15,7 @@ func (h *HelmV2) Get(releaseName string, opts helm.GetOptions) (*helm.Release, e
if strings.Contains(err.Error(), "not found") {
return nil, nil
}
return nil, errors.Wrapf(err, "failed to retrieve release [%s]", releaseName)
return nil, err
}
return releaseToGenericRelease(res.Release), nil
}
2 changes: 1 addition & 1 deletion pkg/helm/v2/helm.go
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ func New(logger log.Logger, kubeClient *kubernetes.Clientset, opts TillerOptions
for {
client, host, err := newHelmClient(kubeClient, opts)
if err != nil {
logger.Log("error", fmt.Sprintf("error creating Client (v2) client: %s", err.Error()))
logger.Log("error", fmt.Errorf("errored creating Helm 2 client: %w", err))
time.Sleep(20 * time.Second)
continue
}
Expand Down
4 changes: 1 addition & 3 deletions pkg/helm/v2/history.go
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
package v2

import (
"github.com/pkg/errors"

helmv2 "k8s.io/helm/pkg/helm"

"github.com/fluxcd/helm-operator/pkg/helm"
Expand All @@ -15,7 +13,7 @@ func (h *HelmV2) History(releaseName string, opts helm.HistoryOptions) ([]*helm.
}
res, err := h.client.ReleaseHistory(releaseName, max)
if err != nil {
return nil, errors.Wrapf(statusMessageErr(err), "failed to retrieve history for [%s]", releaseName)
return nil, err
}
var rels []*helm.Release
for _, r := range res.Releases {
Expand Down
10 changes: 5 additions & 5 deletions pkg/helm/v2/repository.go
Original file line number Diff line number Diff line change
@@ -1,17 +1,18 @@
package v2

import (
"fmt"
"os"
"sync"

"github.com/pkg/errors"

"k8s.io/helm/pkg/repo"
)

var repositoryConfigLock sync.RWMutex

func (h *HelmV2) RepositoryIndex() error {

repositoryConfigLock.RLock()
f, err := loadRepositoryConfig()
repositoryConfigLock.RUnlock()
Expand Down Expand Up @@ -45,6 +46,9 @@ func (h *HelmV2) RepositoryAdd(name, url, username, password, certFile, keyFile,
if err != nil {
return err
}
if f.Has(name) {
return fmt.Errorf("chart repository with name '%s' already exists", name)
}

c := &repo.Entry{
Name: name,
Expand All @@ -57,10 +61,6 @@ func (h *HelmV2) RepositoryAdd(name, url, username, password, certFile, keyFile,
}
f.Add(c)

if f.Has(name) {
return errors.New("chart repository with name %s already exists")
}

r, err := repo.NewChartRepository(c, getterProviders())
if err != nil {
return err
Expand Down
8 changes: 4 additions & 4 deletions pkg/helm/v2/upgrade.go
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package v2

import (
"github.com/pkg/errors"
"fmt"

"k8s.io/helm/pkg/chartutil"
helmv2 "k8s.io/helm/pkg/helm"
Expand All @@ -19,7 +19,7 @@ func (h *HelmV2) UpgradeFromPath(chartPath string, releaseName string, values []
// Load the chart from the given path
chartRequested, err := chartutil.Load(chartPath)
if err != nil {
return nil, errors.Wrapf(err, "failed to load chart from path [%s] for release [%s]", chartPath, releaseName)
return nil, err
}

var res releaseResponse
Expand All @@ -39,7 +39,7 @@ func (h *HelmV2) UpgradeFromPath(chartPath string, releaseName string, values []
_, dErr := h.client.DeleteRelease(releaseName,
helmv2.DeletePurge(true), helmv2.DeleteDisableHooks(opts.DisableHooks))
if dErr != nil {
return nil, errors.Wrapf(statusMessageErr(dErr), "failed to uninstall release, original installation error: %s", statusMessageErr(err))
return nil, fmt.Errorf("%s, original installation error: %w", statusMessageErr(dErr), statusMessageErr(err))
}
}
} else {
Expand All @@ -65,7 +65,7 @@ func (h *HelmV2) UpgradeFromPath(chartPath string, releaseName string, values []
helmv2.RollbackDryRun(opts.DryRun),
helmv2.RollbackRecreate(opts.Recreate),
helmv2.RollbackForce(opts.Force))
return nil, errors.Wrapf(statusMessageErr(rErr), "failed to roll back release, original installation error: %s", statusMessageErr(err))
return nil, fmt.Errorf("%s, original installation error: %w", statusMessageErr(rErr), statusMessageErr(err))
}
}
if err != nil {
Expand Down
3 changes: 1 addition & 2 deletions pkg/helm/v3/get.go
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
package v3

import (
"github.com/pkg/errors"
"helm.sh/helm/v3/pkg/action"
"helm.sh/helm/v3/pkg/storage/driver"

Expand All @@ -24,7 +23,7 @@ func (h *HelmV3) Get(releaseName string, opts helm.GetOptions) (*helm.Release, e
case driver.ErrReleaseNotFound:
return nil, nil
default:
return nil, errors.Wrapf(err, "failed to retrieve release '%s'", releaseName)
return nil, err
}
}

Expand Down
4 changes: 1 addition & 3 deletions pkg/helm/v3/history.go
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
package v3

import (
"github.com/pkg/errors"

"helm.sh/helm/v3/pkg/action"
"helm.sh/helm/v3/pkg/releaseutil"

Expand All @@ -20,7 +18,7 @@ func (h *HelmV3) History(releaseName string, opts helm.HistoryOptions) ([]*helm.

hist, err := history.Run(releaseName)
if err != nil {
return nil, errors.Wrapf(err, "failed to retrieve history for '%s'", releaseName)
return nil, err
}

releaseutil.Reverse(hist, releaseutil.SortByRevision)
Expand Down
2 changes: 0 additions & 2 deletions pkg/helm/v3/repository.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@ import (
var repositoryConfigLock sync.RWMutex

func (h *HelmV3) RepositoryIndex() error {

repositoryConfigLock.RLock()
f, err := loadRepositoryConfig()
repositoryConfigLock.RUnlock()
Expand Down Expand Up @@ -113,7 +112,6 @@ func (h *HelmV3) RepositoryImport(path string) error {
h.logger.Log("error", err, "name", c.Name, "url", c.URL)
continue
}

t.Add(c)
h.logger.Log("info", "successfully imported repository", "name", c.Name, "url", c.URL)
}
Expand Down
3 changes: 1 addition & 2 deletions pkg/helm/v3/rollback.go
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
package v3

import (
"github.com/pkg/errors"
"helm.sh/helm/v3/pkg/action"

"github.com/fluxcd/helm-operator/pkg/helm"
Expand All @@ -17,7 +16,7 @@ func (h *HelmV3) Rollback(releaseName string, opts helm.RollbackOptions) (*helm.
rollbackOptions(opts).configure(rollback)

if err := rollback.Run(releaseName); err != nil {
return nil, errors.Wrapf(err, "failed to perform rollback for release '%s'", releaseName)
return nil, err
}

// As rolling back does no longer return information about
Expand Down
11 changes: 4 additions & 7 deletions pkg/helm/v3/uninstall.go
Original file line number Diff line number Diff line change
@@ -1,10 +1,9 @@
package v3

import (
"github.com/fluxcd/helm-operator/pkg/helm"
"github.com/pkg/errors"

"helm.sh/helm/v3/pkg/action"

"github.com/fluxcd/helm-operator/pkg/helm"
)

func (h *HelmV3) Uninstall(releaseName string, opts helm.UninstallOptions) error {
Expand All @@ -16,10 +15,8 @@ func (h *HelmV3) Uninstall(releaseName string, opts helm.UninstallOptions) error
uninstall := action.NewUninstall(cfg)
uninstallOptions(opts).configure(uninstall)

if _, err := uninstall.Run(releaseName); err != nil {
return errors.Wrapf(err, "failed to uninstall release '%s'", releaseName)
}
return nil
_, err = uninstall.Run(releaseName)
return err
}

type uninstallOptions helm.UninstallOptions
Expand Down
8 changes: 3 additions & 5 deletions pkg/helm/v3/upgrade.go
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
package v3

import (
"github.com/pkg/errors"

"helm.sh/helm/v3/pkg/action"
"helm.sh/helm/v3/pkg/chart/loader"
"helm.sh/helm/v3/pkg/chartutil"
Expand All @@ -23,13 +21,13 @@ func (h *HelmV3) UpgradeFromPath(chartPath string, releaseName string, values []
// all chart dependencies are present
chartRequested, err := loader.Load(chartPath)
if err != nil {
return nil, errors.Wrapf(err, "failed to load chart from path '%s' for release '%s'", chartPath, releaseName)
return nil, err
}

// Read and set values
val, err := chartutil.ReadValues(values)
if err != nil {
return nil, errors.Wrap(err, "failed to read values")
return nil, err
}

var res *release.Release
Expand All @@ -44,7 +42,7 @@ func (h *HelmV3) UpgradeFromPath(chartPath string, releaseName string, values []
}

if err != nil {
return nil, errors.Wrapf(err, "failed to upgrade chart for release [%s]", releaseName)
return nil, err
}
return releaseToGenericRelease(res), err
}
Expand Down
3 changes: 0 additions & 3 deletions pkg/release/release.go
Original file line number Diff line number Diff line change
Expand Up @@ -65,9 +65,6 @@ func New(logger log.Logger, helmClients *helm.Clients, coreV1Client corev1client
func (r *Release) Sync(hr *v1.HelmRelease) (err error) {
defer func(start time.Time) {
ObserveRelease(start, err == nil, hr.GetTargetNamespace(), hr.GetReleaseName())
if err != nil {
println("ERROR: " + err.Error())
}
}(time.Now())
defer status.SetObservedGeneration(r.hrClient.HelmReleases(hr.Namespace), hr, hr.Generation)

Expand Down

0 comments on commit 3aa6b4d

Please sign in to comment.