<p>I have had jhub released in my cluster successfully. I then changed the config to pull another docker image as stated in the <a href="https://zero-to-jupyterhub.readthedocs.io/en/latest/setup-jupyterhub.html" rel="noreferrer">documentation</a>.</p>

<p>This time, while running the same old command: </p>

<pre><code># Suggested values: advanced users of Kubernetes and Helm should feel
# free to use different values.
RELEASE=jhub
NAMESPACE=jhub

helm upgrade --install $RELEASE jupyterhub/jupyterhub \
  --namespace $NAMESPACE  \
  --version=0.8.2 \
  --values jupyter-hub-config.yaml
</code></pre>

<p>where the <code>jupyter-hub-config.yaml</code> file is:</p>

<pre><code>proxy:
  secretToken: "&lt;a secret token&gt;"
singleuser:
  image:
    # Get the latest image tag at:
    # https://hub.docker.com/r/jupyter/datascience-notebook/tags/
    # Inspect the Dockerfile at:
    # https://github.com/jupyter/docker-stacks/tree/master/datascience-notebook/Dockerfile
    name: jupyter/datascience-notebook
    tag: 177037d09156
</code></pre>

<p>I get the following problem:</p>

<pre><code>UPGRADE FAILED
ROLLING BACK
Error: "jhub" has no deployed releases
Error: UPGRADE FAILED: "jhub" has no deployed releases
</code></pre>

<p>I then deleted the namespace via <code>kubectl delete ns/jhub</code> and the release via <code>helm delete --purge jhub</code>. Again tried this command in vain, again the same error.</p>

<p>I read few GH issues and found that either the YAML file was invalid or that the <code>--force</code> flag worked. However, in my case, none of these two are valid.</p>

<p>I expect to make this release and also learn how to edit the current releases.</p>

<p>Note: As you would find in the aforementioned documentation, there is a pvc created.</p>

<p>I had the same issue when I was trying to update my <code>config.yaml</code> file in GKE. Actually what worked for me is to redo these steps:</p>
<ol>
<li><p>run <code>curl https://raw.githubusercontent.com/kubernetes/helm/master/scripts/get | bash</code></p>
</li>
<li><p><code>helm init --service-account tiller --history-max 100 --wait</code></p>
</li>
<li><p>[OPTIONAL] <code>helm version</code> to verify that you have a similar output as the documentation</p>
</li>
<li><p>Add repo</p>
</li>
</ol>
<pre><code>helm repo add jupyterhub https://jupyterhub.github.io/helm-chart/
helm repo update
</code></pre>
<ol start="5">
<li>Run upgrade</li>
</ol>
<pre><code>RELEASE=jhub
NAMESPACE=jhub

helm upgrade $RELEASE jupyterhub/jupyterhub \
  --namespace $NAMESPACE  \
  --version=0.9.0 \
  --values config.yaml
</code></pre>
