diff --git a/pkg/storage/driver/cfgmaps.go b/pkg/storage/driver/cfgmaps.go index 71e635975..968f0a241 100644 --- a/pkg/storage/driver/cfgmaps.go +++ b/pkg/storage/driver/cfgmaps.go @@ -68,15 +68,14 @@ func (cfgmaps *ConfigMaps) Get(key string) (*rspb.Release, error) { if apierrors.IsNotFound(err) { return nil, ErrReleaseNotFound } - cfgmaps.Log("get: failed to get %q: %s", key, err) - return nil, err + return nil, errors.Wrapf(err, "get: failed to get %q", key) } // found the configmap, decode the base64 data string r, err := decodeRelease(obj.Data["release"]) if err != nil { cfgmaps.Log("get: failed to decode data %q: %s", key, err) - return nil, err + return nil, errors.Wrapf(err, "get: failed to decode data %q", key) } // return the release object return r, nil @@ -92,7 +91,7 @@ func (cfgmaps *ConfigMaps) List(filter func(*rspb.Release) bool) ([]*rspb.Releas list, err := cfgmaps.impl.List(context.Background(), opts) if err != nil { cfgmaps.Log("list: failed to list: %s", err) - return nil, err + return nil, errors.Wrap(err, "list: failed to list") } var results []*rspb.Release @@ -128,7 +127,7 @@ func (cfgmaps *ConfigMaps) Query(labels map[string]string) ([]*rspb.Release, err list, err := cfgmaps.impl.List(context.Background(), opts) if err != nil { cfgmaps.Log("query: failed to query with labels: %s", err) - return nil, err + return nil, errors.Wrap(err, "query: failed to query with labels") } if len(list.Items) == 0 { @@ -160,16 +159,15 @@ func (cfgmaps *ConfigMaps) Create(key string, rls *rspb.Release) error { obj, err := newConfigMapsObject(key, rls, lbs) if err != nil { cfgmaps.Log("create: failed to encode release %q: %s", rls.Name, err) - return err + return errors.Wrapf(err, "create: failed to encode release %q", rls.Name) } // push the configmap object out into the kubiverse if _, err := cfgmaps.impl.Create(context.Background(), obj, metav1.CreateOptions{}); err != nil { if apierrors.IsAlreadyExists(err) { return ErrReleaseExists } - cfgmaps.Log("create: failed to create: %s", err) - return err + return errors.Wrap(err, "create: failed to create") } return nil } @@ -187,13 +185,13 @@ func (cfgmaps *ConfigMaps) Update(key string, rls *rspb.Release) error { obj, err := newConfigMapsObject(key, rls, lbs) if err != nil { cfgmaps.Log("update: failed to encode release %q: %s", rls.Name, err) - return err + return errors.Wrapf(err, "update: failed to encode release %q", rls.Name) } // push the configmap object out into the kubiverse _, err = cfgmaps.impl.Update(context.Background(), obj, metav1.UpdateOptions{}) if err != nil { cfgmaps.Log("update: failed to update: %s", err) - return err + return errors.Wrap(err, "update: failed to update") } return nil } @@ -205,10 +203,8 @@ func (cfgmaps *ConfigMaps) Delete(key string) (rls *rspb.Release, err error) { return nil, err } // delete the release - if err = cfgmaps.impl.Delete(context.Background(), key, metav1.DeleteOptions{}); err != nil { - return rls, err - } - return rls, nil + err = cfgmaps.impl.Delete(context.Background(), key, metav1.DeleteOptions{}) + return rls, err } // newConfigMapsObject constructs a kubernetes ConfigMap object diff --git a/pkg/storage/driver/secrets.go b/pkg/storage/driver/secrets.go index 44280f70f..e84712d35 100644 --- a/pkg/storage/driver/secrets.go +++ b/pkg/storage/driver/secrets.go @@ -68,11 +68,17 @@ func (secrets *Secrets) Get(key string) (*rspb.Release, error) { if apierrors.IsNotFound(err) { return nil, ErrReleaseNotFound } + secrets.Log("get: failed to get %q: %s", key, err) return nil, errors.Wrapf(err, "get: failed to get %q", key) } // found the secret, decode the base64 data string r, err := decodeRelease(string(obj.Data["release"])) - return r, errors.Wrapf(err, "get: failed to decode data %q", key) + if err != nil { + secrets.Log("get: failed to decode data %q: %s", key, err) + return nil, errors.Wrapf(err, "get: failed to decode data %q", key) + } + // return the release object + return r, nil } // List fetches all releases and returns the list releases such @@ -84,6 +90,7 @@ func (secrets *Secrets) List(filter func(*rspb.Release) bool) ([]*rspb.Release, list, err := secrets.impl.List(context.Background(), opts) if err != nil { + secrets.Log("list: failed to list: %s", err) return nil, errors.Wrap(err, "list: failed to list") } @@ -119,6 +126,7 @@ func (secrets *Secrets) Query(labels map[string]string) ([]*rspb.Release, error) list, err := secrets.impl.List(context.Background(), opts) if err != nil { + secrets.Log("query: failed to query with labels: %s", err) return nil, errors.Wrap(err, "query: failed to query with labels") } @@ -150,6 +158,7 @@ func (secrets *Secrets) Create(key string, rls *rspb.Release) error { // create a new secret to hold the release obj, err := newSecretsObject(key, rls, lbs) if err != nil { + secrets.Log("create: failed to encode release %q: %s", rls.Name, err) return errors.Wrapf(err, "create: failed to encode release %q", rls.Name) } // push the secret object out into the kubiverse @@ -157,7 +166,7 @@ func (secrets *Secrets) Create(key string, rls *rspb.Release) error { if apierrors.IsAlreadyExists(err) { return ErrReleaseExists } - + secrets.Log("create: failed to create: %s", err) return errors.Wrap(err, "create: failed to create") } return nil @@ -175,11 +184,16 @@ func (secrets *Secrets) Update(key string, rls *rspb.Release) error { // create a new secret object to hold the release obj, err := newSecretsObject(key, rls, lbs) if err != nil { + secrets.Log("update: failed to encode release %q: %s", rls.Name, err) return errors.Wrapf(err, "update: failed to encode release %q", rls.Name) } // push the secret object out into the kubiverse _, err = secrets.impl.Update(context.Background(), obj, metav1.UpdateOptions{}) - return errors.Wrap(err, "update: failed to update") + if err != nil { + secrets.Log("update: failed to update: %s", err) + return errors.Wrap(err, "update: failed to update") + } + return nil } // Delete deletes the Secret holding the release named by key.