diff --git a/pkg/action/upgrade.go b/pkg/action/upgrade.go index 2bd40a850..4dfc78dea 100644 --- a/pkg/action/upgrade.go +++ b/pkg/action/upgrade.go @@ -214,25 +214,8 @@ func (u *Upgrade) prepareUpgrade(name string, chart *chart.Chart, vals map[strin return nil, nil, errPending } - var currentRelease *release.Release - if lastRelease.Info.Status == release.StatusDeployed { - // no need to retrieve the last deployed release from storage as the last release is deployed - currentRelease = lastRelease - } else { - // finds the deployed release with the given name - currentRelease, err = u.cfg.Releases.Deployed(name) - if err != nil { - if errors.Is(err, driver.ErrNoDeployedReleases) && - (lastRelease.Info.Status == release.StatusFailed || lastRelease.Info.Status == release.StatusSuperseded) { - currentRelease = lastRelease - } else { - return nil, nil, err - } - } - } - // determine if values will be reused - vals, err = u.reuseValues(chart, currentRelease, vals) + vals, err = u.reuseValues(chart, lastRelease, vals) if err != nil { return nil, nil, err } @@ -247,7 +230,7 @@ func (u *Upgrade) prepareUpgrade(name string, chart *chart.Chart, vals map[strin options := chartutil.ReleaseOptions{ Name: name, - Namespace: currentRelease.Namespace, + Namespace: lastRelease.Namespace, Revision: revision, IsUpgrade: true, } @@ -279,11 +262,11 @@ func (u *Upgrade) prepareUpgrade(name string, chart *chart.Chart, vals map[strin // Store an upgraded release. upgradedRelease := &release.Release{ Name: name, - Namespace: currentRelease.Namespace, + Namespace: lastRelease.Namespace, Chart: chart, Config: vals, Info: &release.Info{ - FirstDeployed: currentRelease.Info.FirstDeployed, + FirstDeployed: lastRelease.Info.FirstDeployed, LastDeployed: Timestamper(), Status: release.StatusPendingUpgrade, Description: "Preparing upgrade", // This should be overwritten later. @@ -298,7 +281,7 @@ func (u *Upgrade) prepareUpgrade(name string, chart *chart.Chart, vals map[strin upgradedRelease.Info.Notes = notesTxt } err = validateManifest(u.cfg.KubeClient, manifestDoc.Bytes(), !u.DisableOpenAPIValidation) - return currentRelease, upgradedRelease, err + return lastRelease, upgradedRelease, err } func (u *Upgrade) performUpgrade(ctx context.Context, originalRelease, upgradedRelease *release.Release) (*release.Release, error) {