err=errors.Wrap(err,"An error occurred while checking for chart dependencies. You may need to run `helm dependency build` to fetch missing dependencies")
err=fmt.Errorf("An error occurred while checking for chart dependencies. You may need to run `helm dependency build` to fetch missing dependencies: %w",err)
err=errors.Wrap(err,"An error occurred while checking for chart dependencies. You may need to run `helm dependency build` to fetch missing dependencies")
err=fmt.Errorf("An error occurred while checking for chart dependencies. You may need to run `helm dependency build` to fetch missing dependencies: %w",err)
returnnil,errors.Errorf("can't get a valid version for %d subchart(s): %s. Make sure a matching chart version exists in the repo, or change the version constraint in Chart.yaml",len(missing),strings.Join(missing,", "))
returnnil,fmt.Errorf("can't get a valid version for %d subchart(s): %s. Make sure a matching chart version exists in the repo, or change the version constraint in Chart.yaml",len(missing),strings.Join(missing,", "))
returnhs,b,"",errors.Errorf("chart requires kubeVersion: %s which is incompatible with Kubernetes %s",ch.Metadata.KubeVersion,caps.KubeVersion.String())
returnhs,b,"",fmt.Errorf("chart requires kubeVersion: %s which is incompatible with Kubernetes %s",ch.Metadata.KubeVersion,caps.KubeVersion.String())
r.cfg.Log("Cleanup on fail set, cleaning up %d resources",len(results.Created))
_,errs:=r.cfg.KubeClient.Delete(results.Created)
iferrs!=nil{
varerrorList[]string
for_,e:=rangeerrs{
errorList=append(errorList,e.Error())
}
returntargetRelease,errors.Wrapf(fmt.Errorf("unable to cleanup resources: %s",strings.Join(errorList,", ")),"an error occurred while cleaning up resources. original rollback error: %s",err)
returntargetRelease,fmt.Errorf(
"an error occurred while cleaning up resources. original rollback error: %w",
fmt.Errorf("unable to cleanup resources: %w",joinErrors(errs,", ")))
@ -493,11 +493,14 @@ func (u *Upgrade) failRelease(rel *release.Release, created kube.ResourceList, e
u.cfg.Log("Cleanup on fail set, cleaning up %d resources",len(created))
_,errs:=u.cfg.KubeClient.Delete(created)
iferrs!=nil{
varerrorList[]string
for_,e:=rangeerrs{
errorList=append(errorList,e.Error())
}
returnrel,errors.Wrapf(fmt.Errorf("unable to cleanup resources: %s",strings.Join(errorList,", ")),"an error occurred while cleaning up resources. original upgrade error: %s",err)
returnrel,fmt.Errorf(
"an error occurred while cleaning up resources. original upgrade error: %w: %w",
err,
fmt.Errorf(
"unable to cleanup resources: %w",
joinErrors(errs,", "),
),
)
}
u.cfg.Log("Resource cleanup complete")
}
@ -509,7 +512,7 @@ func (u *Upgrade) failRelease(rel *release.Release, created kube.ResourceList, e
hist:=NewHistory(u.cfg)
fullHistory,herr:=hist.Run(rel.Name)
ifherr!=nil{
returnrel,errors.Wrapf(herr,"an error occurred while finding last successful release. original upgrade error: %s",err)
returnrel,fmt.Errorf("an error occurred while finding last successful release. original upgrade error: %w: %w",err,herr)
}
// There isn't a way to tell if a previous release was successful, but
@ -519,7 +522,7 @@ func (u *Upgrade) failRelease(rel *release.Release, created kube.ResourceList, e