helm: Helm doesn't updated resource though Chart's template changed

Client version “v2.1.3”

I’m using customized nginx-lego chart from a folder.

First I installed it as it is, then adde arguments here: https://github.com/kubernetes/charts/blob/master/stable/nginx-lego/templates/nginx-deployment.yaml#L38

So in charts templates I have changed arguments: image

Then I do helm upgrade release, the deployment is not updated there is still two arguments: image

Is there a way to imperatively upgrade the deployment?

About this issue

  • Original URL
  • State: closed
  • Created 7 years ago
  • Reactions: 4
  • Comments: 39 (13 by maintainers)

Most upvoted comments

Same issue here, has this been resolved?

We were able to reproduce this using kubernets 1.8.3 and helm 2.8.0 (and 2.7.2). We created a script to replicate it which is at https://github.com/jasquat/repro-helm-issue-1873.

closed via #6124

@bacongobbler I think there’s a gap when it comes to Deployment resources though and failures caused by their ReplicaSets, for example:

  1. Helm installs a chart successfully, everything is fine and it gets marked as “DEPLOYED” - the Deployment has maxUnavailable set to 50%
  2. An upgrade is carried out which makes changes to both the Deployment to set maxUnavailable to 25% and the Pod template with a new image ID - this fails because of the Pods, causing Helm to time out waiting for the pods and the release to be marked as “FAILED”
  3. Another upgrade is carried out, containing an update to the maxUnavailable to set it to 50% again and to the Pod template with another new image ID - but the Deployment resource never gets updated because of the comparison with revision 1 which matches

Doing “helm get” on revision 3 in the above example returns what one would expect the outcome to be, but the actual Deployment resource outside of the Pod template is actually at revision 2.

Is the solution here to do a rollback to 1 before upgrading with the changes introduced in revision 3?