Binderhub: Binderhub helm chart install fails when specifying `--version` with helm v3

Created on 2 Feb 2020  路  9Comments  路  Source: jupyterhub/binderhub

For some reason, I have trouble installing binderhub via helm v3 (I'm using v3.0.3). The error message is Error: failed to download "jupyterhub/binderhub" (hint: running helm repo update may help).. The issue is, however, not related to helm repo update.

Steps to reproduce:

Add the helm repo and update it:

helm repo add jupyterhub https://jupyterhub.github.io/helm-chart
helm repo update

Run helm repo list. Output on my computer:

NAME              URL
stable            https://kubernetes-charts.storage.googleapis.com
jetstack          https://charts.jetstack.io
pfisterer-knox    https://pfisterer.github.io/apache-knox-helm/
jupyterhub        https://jupyterhub.github.io/helm-chart

Run helm search repo -l jupyterhub/binderhub to list available versions. Output on my computer:

NAME                    CHART VERSION       APP VERSION DESCRIPTION
jupyterhub/binderhub    0.2.0-001.00f7197               A helm chart to install Binder
jupyterhub/binderhub    0.2.0-013.dace2ee               A helm chart to install Binder
jupyterhub/binderhub    0.2.0-049.8a0cee8               A helm chart to install Binder
jupyterhub/binderhub    0.2.0-024.1820a10               A helm chart to install Binder
jupyterhub/binderhub    0.2.0-021.66516e5               A helm chart to install Binder
jupyterhub/binderhub    0.2.0-072.544c0b1               A helm chart to install Binder
jupyterhub/binderhub    0.2.0-065.f0e541b               A helm chart to install Binder
jupyterhub/binderhub    0.2.0-037.c81a986               A helm chart to install Binder
jupyterhub/binderhub    0.2.0-059.78bfbcd               A helm chart to install Binder
jupyterhub/binderhub    0.2.0-028.9ba1fc3               A helm chart to install Binder
jupyterhub/binderhub    0.2.0-039.58fb2a0               A helm chart to install Binder
jupyterhub/binderhub    0.2.0-061.4221738               A helm chart to install Binder
jupyterhub/binderhub    0.2.0-018.0c62683               A helm chart to install Binder
jupyterhub/binderhub    0.2.0-056.8c51534               A helm chart to install Binder
jupyterhub/binderhub    0.2.0-051.99305a6               A helm chart to install Binder
jupyterhub/binderhub    0.2.0-0216360                   A helm chart to install Binder
jupyterhub/binderhub    0.2.0-068.0b5080a               A helm chart to install Binder
jupyterhub/binderhub    0.2.0-045.089702b               A helm chart to install Binder
jupyterhub/binderhub    0.2.0-026.7c50358               A helm chart to install Binder
jupyterhub/binderhub    0.2.0-004.9756642               A helm chart to install Binder
jupyterhub/binderhub    0.2.0-017.5aa671c               A helm chart to install Binder
jupyterhub/binderhub    0.2.0-069.dbffec6               A helm chart to install Binder

When trying to install version 0.2.0-068.0b5080a using helm install '--version=0.2.0-068.0b5080a' '--namespace=cert-manager' -f '/var/folders/_k/g6547cr924b2vw4b_w61lfym0000gn/T/ansible.fzu39_4jbinderhub-config.yaml' 'hub' 'jupyterhub/binderhub', I get

Error: failed to download "jupyterhub/binderhub" (hint: runninghelm repo updatemay help).

When trying to install version 0.2.0-9994a92, everything works as expected. But anything using a different format (e.g., '--version=0.2.0-068.0b5080a') does not work.

When NOT specifying a --version but --devel, it installs the chart w/o error message but helm list --all-namespaces does not show an app version:

NAME            NAMESPACE       REVISION    UPDATED                                 STATUS      CHART                           APP VERSION
hub             cert-manager    1           2020-02-02 10:57:58.486209 +0100 CET    deployed    binderhub-0.2.0-n079.h351d336

What puzzles me is that binderhub-0.2.0-n079.h351d336 is not listed in the above list of versions.

Running helm install '--version=0.2.0-n079.h351d336' '--namespace=cert-manager' -f '/var/folders/_k/g6547cr924b2vw4b_w61lfym0000gn/T/ansible.fzu39_4jbinderhub-config.yaml' 'hub' 'jupyterhub/binderhub' works...

Any ideas? Am I missing something obvious?

Most helpful comment

@consideRatio This is the case. Running helm install '--version=0.2.0-n079.h351d336' '--namespace=cert-manager' -f '/var/folders/_k/g6547cr924b2vw4b_w61lfym0000gn/T/ansible.fzu39_4jbinderhub-config.yaml' 'hub' 'jupyterhub/binderhub' works...

All 9 comments

I know about this issue, it relates to Helm3 not accepting to work with any helm chart that doesnt have a version according to the SemVer 2 standard.

I think it will work if you try to use a version that is, and we recently made binderhub releases with valid versions, i think. Or we may be waiting for an update on a bot that does it.

An issue with the version is the 001 section for example, it is not allowed to be purely numerical and start with a zero. So, we added a n character before it.

/cc: @henchc @betatim

@consideRatio Thanks a lot for your fast reply... Do you know why helm search repo -l jupyterhub/binderhub does not show these versions?

Should we close this issue then?

I think they are not yet available as you didnt see them, and i think it requires an update by our bot made by @henchc.

This is a very relevant issue and you have provided an excellent description of the symptoms when running into this.

@pfisterer, I'm now on a computer and had the ability to look around myself better.

I note that there is released versions of the binderhub helm chart that allows Helm 3 to work as it should I think: https://jupyterhub.github.io/helm-chart/#development-releases-binderhub

helm repo add jupyterhub https://jupyterhub.github.io/helm-chart
helm repo update
helm search jupyterhub/binderhub --devel
# the latest version, a development version, is valid!
$ helm search jupyterhub/binderhub --devel
NAME                    CHART VERSION       APP VERSION DESCRIPTION                   
jupyterhub/binderhub    0.2.0-n079.h351d336             A helm chart to install Binder

I consider this issue resolved technically, but there is work to be done with regards to making it easier to not end up with this issue.

Thanks for leading the way by using helm 3 @pfisterer, this is very helpful to ensure we get this helm chart helm 3 compliant!

Great, tnx a lot! Have a nice day!

@consideRatio just for your reference: using helm v3, the command is helm search repo jupyterhub/binderhub --devel -l.

For me helm search repo jupyterhub/binderhub --devel -l | grep "\\-n" yields the following output:

jupyterhub/binderhub    0.2.0-n079.h351d336             A helm chart to install Binder
jupyterhub/binderhub    0.2.0-n077.hef338bc             A helm chart to install Binder
jupyterhub/binderhub    0.2.0-n075.hb369d46             A helm chart to install Binder

Now, this makes sense to me.

Ah thanks for the clarification of the difference between helm2/helm3, I've not used helm 3 yet!

@pfisterer does the issue you experienced go away when specifying one of these versions?

@consideRatio This is the case. Running helm install '--version=0.2.0-n079.h351d336' '--namespace=cert-manager' -f '/var/folders/_k/g6547cr924b2vw4b_w61lfym0000gn/T/ansible.fzu39_4jbinderhub-config.yaml' 'hub' 'jupyterhub/binderhub' works...

Was this page helpful?
0 / 5 - 0 ratings