helm-2to3: Error converting releases when Helm v2 secret storage backend set using "args" field of the container spec

KUBE: Client: &version.Version{SemVer:“v2.14.0”, GitCommit:“05811b84a3f93603dd6c2fcfe57944dfa7ab7fd0”, GitTreeState:“clean”} Server: &version.Version{SemVer:“v2.14.0”, GitCommit:“05811b84a3f93603dd6c2fcfe57944dfa7ab7fd0”, GitTreeState:“clean”}

HELM helm version version.BuildInfo{Version:“v3.0.2”, GitCommit:“19e47ee3283ae98139d98460de796c1be1e3975f”, GitTreeState:“clean”, GoVersion:“go1.13.5”}

Tiller is in the kube-system namespace using secrets to hold v2 configuration. Tiller was configured for secret storage backend as follows: tiller --override 'spec.template.spec.containers[0].args'='{/tiller,--storage=secret}'

$ helm3 2to3 convert microservice --dry-run 2020/01/23 12:06:07 NOTE: This is in dry-run mode, the following actions will not be executed. 2020/01/23 12:06:07 Run without --dry-run to take the actions described below: 2020/01/23 12:06:07 2020/01/23 12:06:07 Release “microservice” will be converted from Helm v2 to Helm v3. 2020/01/23 12:06:19 [Helm 3] Release “microservice” will be created. Error: microservice has no deployed releases Error: plugin “2to3” exited with error

Any ideas?

_Originally posted by @hickert33 in https://github.com/helm/helm-2to3/issues/97#issuecomment-577805600_

About this issue

  • Original URL
  • State: closed
  • Created 4 years ago
  • Comments: 16 (1 by maintainers)

Commits related to this issue

Most upvoted comments

Thanks @justinturpin and @gau1991 for the work on adding the fix for this. It is great to find edge cases like this.

In some installations of Helm, the Tiller command that sets the storage to use secrets is in the “args” field of the container spec, not the command field. This caused the helm-plugin-utils library to think that the Tiller storage was configmaps, causing helm2to3 to look in configmaps and then fail when none could be found.

This PR https://github.com/maorfr/helm-plugin-utils/pull/11 fixes it and got merged in a couple days ago, so theoretically everything should be good to go, but I haven’t done a full end to end test yet.

Hi @hickeyma ,

We are also facing same issue into our environment, so I have created PR: #124 . Can you please review it and merge it?

So I am having this issue as well and am actively trying to debug it - it looks like the storage thinks it’s “configmaps” when it should be “secrets”. I have filed this issue with the helm-plugin-utils repo here: https://github.com/maorfr/helm-plugin-utils/issues/10 . It seems like an easy enough fix and I tested it locally and it seems to work.