helm: helm upgrade --install fails with "unsupported format "

Output of helm version:

# helm version
Client: &version.Version{SemVer:"v2.15.0", GitCommit:"c2440264ca6c078a06e088a838b0476d2fc14750", GitTreeState:"clean"}
Server: &version.Version{SemVer:"v2.15.0", GitCommit:"c2440264ca6c078a06e088a838b0476d2fc14750", GitTreeState:"clean"}

Output of kubectl version:

# kubectl version
Client Version: version.Info{Major:"1", Minor:"16", GitVersion:"v1.16.2", GitCommit:"c97fe5036ef3df2967d086711e6c0c405941e14b", GitTreeState:"clean", BuildDate:"2019-10-17T17:16:09Z", GoVersion:"go1.12.10", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"14", GitVersion:"v1.14.3", GitCommit:"5e53fd6bc17c0dec8434817e69b04a25d8ae0ff0", GitTreeState:"clean", BuildDate:"2019-06-06T01:36:19Z", GoVersion:"go1.12.5", Compiler:"gc", Platform:"linux/amd64"}

Cloud Provider/Platform (AKS, GKE, Minikube etc.):

rke on VPS


When I run the following command, I get the following output:

:~/.helm# /snap/bin/helm --debug upgrade --install --reset-values oas-test-cert-manager jetstack/cert-manager --version 0.9.1 --namespace cert-manager --values /tmp/values300582802
[debug] Created tunnel using local port: '39435'

[debug] SERVER: "127.0.0.1:39435"

[debug] Fetched jetstack/cert-manager to /root/.helm/cache/archive/cert-manager-v0.9.1.tgz

Release "oas-test-cert-manager" does not exist. Installing it now.
[debug] CHART PATH: /root/.helm/cache/archive/cert-manager-v0.9.1.tgz

Error: unsupported format 

The same is happening to me with other charts. I can’t really add anything to this issue description, because the error I get is super vague… It seems to be coming from:

./cmd/helm/printer.go:120: return fmt.Errorf("unsupported format %s", format)

About this issue

  • Original URL
  • State: closed
  • Created 5 years ago
  • Reactions: 6
  • Comments: 25 (11 by maintainers)

Commits related to this issue

Most upvoted comments

Helm 2.15.1 now released which contains the fix. Release notes are here: https://github.com/helm/helm/releases/tag/v2.15.1

I am experiencing the same error, only seems to happen when there is no previous release installed. Normal upgrading a release seems to go fine.

Just updated to Helm version 2.15.0 on GKE.

I ended up downgrading helm and tiller back to version 2.14.3. Seems like the problem is only affecting the current 2.15.0 version.

I downgraded my client first, then ran helm init --force-upgrade --upgrade to also downgrade tiller.

The issue is gone after upgrade helm to v.2.15.2

The issue is gone after upgrade helm to v2.15.1

@hickeyma I built from dev-v2 yesterday and so far it works well. 😃 I posted the helm binary for my team so we are unblocked. Thanks for the quick fix!

Building was easy… Although i already had a working go environment on my machine.

You have a few options available:

  1. use helm install instead of helm upgrade --install
  2. compile Helm from the dev-v2 branch as @hickeyma mentioned above
  3. revert to Helm 2.14.3

The error only occurs when you invoke helm upgrade --install on the first release. Once the first release is created, this error does not persist and you can use the --install flag (though it has no effect after the initial install).

@hickeyma Great! Will there be a hotfix release soon ?

PR #6722 pushed for the fix.

I can confirm that I’m having the same behaviour. Upgrade works fine but install via helm upgrade --install fails as described. When run with --output=table --debug --dry-run it doesn’t output anything useful. When I run it without the --dry-run but keeping the --debug --output=table It fails with Error: unsupported format.

It installs indeed anyway but it is breaking all our pipelines cause it returns this error.

The error is because there is no format defined for the output of the command. It should default to table.

A workaround: If you specify the output using --output flag then the output is shown:

$ helm upgrade --install chrt-6718 chrt-6718/ -o table
Release "chrt-6718" has been upgraded.
LAST DEPLOYED: Mon Oct 21 16:15:52 2019
NAMESPACE: default
STATUS: DEPLOYED

RESOURCES:
==> v1/Deployment
NAME       READY  UP-TO-DATE  AVAILABLE  AGE
chrt-6718  1/1    1           1          5m39s

==> v1/Pod(related)
NAME                        READY  STATUS   RESTARTS  AGE
chrt-6718-849d685fb8-qxlnv  1/1    Running  0         5m39s

==> v1/Service
NAME       TYPE       CLUSTER-IP     EXTERNAL-IP  PORT(S)  AGE
chrt-6718  ClusterIP  10.110.216.14  <none>       80/TCP   5m39s

==> v1/ServiceAccount
NAME       SECRETS  AGE
chrt-6718  1        5m39s


NOTES:
1. Get the application URL by running these commands:
  export POD_NAME=$(kubectl get pods --namespace default -l "app.kubernetes.io/name=chrt-6718,app.kubernetes.io/instance=chrt-6718" -o jsonpath="{.items[0].metadata.name}")
  echo "Visit http://127.0.0.1:8080 to use your application"
  kubectl port-forward $POD_NAME 8080:80

Same problem here…

$ helm upgrade --debug --install marketplace-proxies-dev-marketplace-client-proxy --namespace marketplace-proxies-dev --set replicaCount=2 marketplace-client-proxy
[debug] Created tunnel using local port: '62401'

[debug] SERVER: "127.0.0.1:62401"

Release "marketplace-proxies-dev-marketplace-client-proxy" does not exist. Installing it now.
[debug] CHART PATH: /tmp/marketplace-client-proxy

Error: unsupported format

I had --debug before the upgrade command, 🤔.

Here’s the --debug --dry-run output:

# /snap/bin/helm upgrade --debug --dry-run --install --reset-values oas-test-cert-manager jetstack/cert-manager --version 0.9.1 --namespace cert-manager --values /tmp/values300582802
[debug] Created tunnel using local port: '33623'

[debug] SERVER: "127.0.0.1:33623"

[debug] Fetched jetstack/cert-manager to /root/.helm/cache/archive/cert-manager-v0.9.1.tgz

Release "oas-test-cert-manager" does not exist. Installing it now.
[debug] CHART PATH: /root/.helm/cache/archive/cert-manager-v0.9.1.tgz

Edit: accidentally pasted output of the working version.