<p>I am experiencing a <code>pending-update</code> Helm issue, ie. in CI pipelines we sometimes deploy a particular application just one time after another. The first helm deployment is still in the <code>pending-update</code> state, while the other deployment of the same application (ran eg. 1 min later) cannot be deployed causing a well-known error: <code>Error: UPGRADE FAILED: another operation (install/upgrade/rollback) is in progress</code>.</p>
<p>I know it is a well-known issue and one possible solution could be Helm-related k8s secret deletion (automatically in the CI pipeline) just before the <code>helm upgrade</code> command but is it a good way of solving this? How do you deal with those scenarios in your CI pipelines?</p>

<p>Yes, you can solve it with a <strong>secret deletion</strong> in one of our cases it was also not working.</p>
<p>So i would recommend checking the <code>kubetl get events</code> it will point out an error also if someone can not enable the logs of not getting debug log.</p>
<p>i faced issues due to helm deploying creating the <strong>service</strong> <code>Type: LoadBalancer</code> and we were out of <strong>Quota</strong> for <strong>LoadBalancer</strong> in <strong>tenancy/account</strong>.</p>
<p>We mostly check for the <strong>POD status</strong> but the helm might be having issues with <strong>service</strong>, <strong>secret</strong>, <strong>configmap</strong>, etc so make sure you do instead of guessing debug properly.</p>
<p>Another workaround you can do is to <strong>roll back</strong> to the previous release version which will change the status from <strong>pending-update</strong> to <strong>deployed</strong> even if you are deploying the first time.</p>
<p>There could be chances if anything is still pending it gets installed it will mark the release as deployed. So you upgrade or install a new one instead of getting an error.</p>
<pre><code>helm -n [NAMESPACE ] rollback &lt;RELEASE&gt; [REVISION]
</code></pre>
<p>Example</p>
<pre><code>helm -n default rollback service 1
</code></pre>
<p>this will mark your release as <strong>deployed</strong> as a workaround if stuck in state.</p>
