When using `helm upgrade --install`, if the first release fails, Helm will respond with an error saying that it cannot upgrade from an unknown state.
With this feature, `helm upgrade --install --force` automates the same process as `helm delete && helm install --replace`. It will mark the previous release as DELETED, delete any existing resources inside Kubernetes, then replace it as if it was a fresh install. It will then mark the FAILED release as SUPERSEDED.
(cherry picked from commit 13730b0dab)
* add test for rolling back from a FAILED deployment
* Update naming of release variables
Use same naming as the rest of the file.
* Update rollback test
- Add logging
- Verify other release names not changed
* fix(tiller): Supersede multiple deployments
There are cases when multiple revisions of a release has been
marked with DEPLOYED status. This makes sure any previous deployment
will be set to SUPERSEDED when doing rollbacks.
Closes#2941#3513#3275
(cherry picked from commit 5f1a21bc32)
https://github.com/kubernetes/helm/pull/3183 added a keepalive to the Helm client of 30s period, while Tiller was never configured to permit this, keeping the default minimum keepalive period of 5 minutes, disconnecting any clients which ping more regularly than this.
This commit enforces a minimum that is lower than what Helm is configured for, preventing these disconnections, and thus fixes#3409.
(cherry picked from commit 588f7a8443)
Between grpc 1.2.x and 1.7.x there was an API change. The
previous MaxMsgSize is now a wrapper around MaxRecvMsgSize. This
change now sets the MaxRecvMsgSize and MaxSendMsgSize which need
to be set independently.
(cherry picked from commit 614cd9dfe7)
CRDs and other objects seen as unstructured cannot use strategic
merge patching. It has never been supported on CRDs. Previously,
cases like unstructured objects could have caused an unregistered
error. This is no longer the case.
This change explicitly looks for unstructured objects and handles
those using json merge patching.
Closes#3382
(cherry picked from commit e6137ff05f)
While we still don't want to upload to GCS/GCR, we also don't want the CI run to fail because we are just skipping the step. This is most usually seen in the `release-X.Y` branches cut every minor release.
(cherry picked from commit d28d1756f8)
This commit improves to display the default value of --kube-version in
help message of `helm template` command.
```
--kube-version string kubernetes version used as Capabilities.KubeVersion.Major/Minor (default "1.9")
```
Prior to this, using the semver template functions with the full
version, which is represented in the GitVersion, was not possible
for helm template and lint commands because the property was not
populated by default. This update adds default handling.
Closes#3349
* Add template for chart name
* Use named ports and simplify service configuration
* Add affinity
* Add tolerations
* Use 'with' statements where possible
* Enhance ingress
* Add fullnameOverride to fullname template
Getting this error when running `helm init` locally:
Failed to pull image "gcr.io/kubernetes-helm/tiller:v2.7": rpc error:
code = Unknown desc = Error response from daemon: manifest for
gcr.io/kubernetes-helm/tiller:v2.7 not found