From 5d4eaf2e702d5cd96ca25924afd054faabe5cfe1 Mon Sep 17 00:00:00 2001 From: Arash Deshmeh Date: Thu, 3 May 2018 13:13:46 -0400 Subject: [PATCH] fix(helm): upgrade with dry-run option displays updated NOTES.txt Signed-off-by: Arash Deshmeh --- cmd/helm/upgrade.go | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/cmd/helm/upgrade.go b/cmd/helm/upgrade.go index 66c4a3657..135ed136c 100644 --- a/cmd/helm/upgrade.go +++ b/cmd/helm/upgrade.go @@ -25,6 +25,7 @@ import ( "k8s.io/helm/pkg/chartutil" "k8s.io/helm/pkg/helm" + "k8s.io/helm/pkg/proto/hapi/services" "k8s.io/helm/pkg/storage/driver" ) @@ -240,7 +241,24 @@ func (u *upgradeCmd) run() error { if err != nil { return prettyError(err) } + + // if dry-run is set, update NOTES from the release response returned by tiller, + // as a dry-run upgrade will not change NOTES on tiller side + status = u.statusFromUpgradeResponse(status, resp) + PrintStatus(u.out, status) return nil } + +func (u *upgradeCmd) statusFromUpgradeResponse(status *services.GetReleaseStatusResponse, resp *services.UpdateReleaseResponse) *services.GetReleaseStatusResponse { + if !u.dryRun { + return status + } + + if rel := resp.Release; rel != nil { + status.Info.Status.Notes = rel.Info.Status.Notes + } + + return status +}