Commit Graph

16 Commits

Author SHA1 Message Date
Timofey Kirillov 5ffe4ce588
Fix `no RESOURCE with the name NAME found`
This is the fix for only one particular, but important case.

The case when a new resource has been added to the chart and
there is an error in the chart, which leads to release failure.
In this case after first failed release upgrade new resource will be
created in the cluster. On the next release upgrade there will be the error:
`no RESOURCE with the name NAME found` for this newly created resource
from the previous release upgrade.

The root of this problem is in the side effect of the first release process,
Release invariant says: if resouce exists in the kubernetes cluster, then
it should exist in the release storage. But this invariant has been broken
by helm itself -- because helm created new resources as side effect and not
adopted them into release storage.

To maintain release invariant for such case during release upgrade operation
all newly *successfully* created resources will be deleted in the case
of an error in the subsequent resources update.

This behaviour will be enabled only when `--cleanup-on-fail` option used
for `helm upgrade` or `helm rollback`.

Signed-off-by: Timofey Kirillov <timofey.kirillov@flant.com>
2019-03-22 21:15:00 +03:00
adshmh 57d1c1fd29 include the name of the missing object in release uninstall error (#4635)
* fix(tiller) added mock kube client to return failure on delete

Signed-off-by: Arash Deshmeh <adeshmeh@ca.ibm.com>

* fix(tiller) added object's name to delete release error message

Signed-off-by: Arash Deshmeh <adeshmeh@ca.ibm.com>
2018-11-06 21:08:18 -08:00
Adam Reese dbf84cd229
ref(*): kubernetes v1.12 support
Signed-off-by: Adam Reese <adam@reese.io>
2018-10-04 10:28:34 -07:00
Matthew Fisher 2d77db11fa change copyright to "Copyright The Helm Authors" 2018-07-30 08:29:17 -07:00
Federico Gimenez 93bce130fb fix signatures 2017-11-29 14:18:12 +01:00
Federico Gimenez e6d907ed28 check if resource is present before adding it to remaining or keep on deletion 2017-11-12 11:20:52 +01:00
Justin Scott 4a02a71f1e WIP feat(helm): add `template` command
This adds the functionality from the helm-template plugin to allow the
rendering of templates without Tiller.

Closes #2755
2017-08-28 18:04:56 -07:00
Maciej Kwiek 6b16ee2fb7 Handle nil responses returned from rudder funcs
Tiller panicked on nil pointer dereference when it was unable to connect
to rudder.
2017-07-25 13:36:21 +02:00
peay 0f26cc5522 Add --force to upgrade and rollback 2017-05-26 17:04:57 -04:00
Maciej Kwiek d9f72deb0d Add comments to exported Rudder methods
Added make target
Lowered docker image sizes
Updated ruder.pb.go
2017-05-05 14:05:03 +02:00
Maciej Kwiek 1c9ae5577d Basic Rudder Delete implementation
Extracted delete specific code from ReleaseServer to external function
which is called from both Local and Remote ReleaseModules.

Made getVersionSet function from tiller package exported.
2017-05-05 13:05:24 +02:00
Maciej Kwiek 5937e1a214 ReleaseServer.ReleaseModule has Status method
Both local and remote Release module implement release status check.
2017-05-05 13:05:24 +02:00
Maciej Kwiek 52c54b09c0 Move rudder proto to different package, add release status 2017-05-05 13:05:24 +02:00
Dmitry Shulyak bd47b8444f Use rollback method on ReleaseModule interface 2017-05-05 13:04:02 +02:00
Dmitry Shulyak a883531f98 Implement upgrade for rudder 2017-05-05 13:04:02 +02:00
Maciej Kwiek c1fcaf09ce Experimental Rudder implementation
This change introduces the concept of Rudders - pluggable modules that
Tiller communicates with via grpc, which allow to decouple orchestration
logic from Tiller into separate service.

This commit consists of simple Rudder implementation which does exactly
the same thing as built in Tiller orchestrator - it creates all k8s
objects from provided manifest without orchestrating them.

--experimental-release flag is introduced to enable this behaviour.

This change allows to use the service and tiller outside of the cluster.
Following commits will add Rudder to helm deployment.
2017-05-05 13:02:20 +02:00