113 Commits
Author SHA1 Message Date
Jeff Knurek b94608388e TEST: add option to dump logs during helm test
Signed-off-by: Jeff Knurek <j.knurek@travelaudience.com>
2019-10-08 13:30:45 -07:00
Ting-Wai ed8f17a889 Parameterize maximum number of tests pods to run in parallel (#6078)
Signed-off-by: Ting-Wai To <tingwai@bitgo.com>
2019-10-04 10:50:19 +01:00
Sakura 627283ac74 fix typo
Signed-off-by: Sakura <longfei.shang@daocloud.io>
2019-08-23 12:02:21 +08:00
Morten Torkildsen cb2207c2fb fix(helm): Delete hooks should wait for resource to be removed from etcd before continuing
Signed-off-by: Morten Torkildsen <mortent@google.com>
2019-06-20 11:56:31 -07:00
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
tuanvcw 268695813b Fix typos in various places (#5360)
Signed-off-by: Vu Cong Tuan <tuanvc@vn.fujitsu.com>
2019-02-26 07:41:50 -08:00
Michelle Noorali 2b7221b5b7 Merge pull request #4088 from jgleonard/2751
#2715 add child NOTES.txt rendering
2019-01-16 12:16:11 -05:00
JoeWrightss e70bea6adb Fix some spelling errors (#5114)
Signed-off-by: JoeWrightss <zhoulin.xie@daocloud.io>
2019-01-09 13:09:50 -08:00
Frank Hamand 158d6dbb74 Add --parallel flag to helm test (#4144)
* Refactor test run to separate method

This will allow us to parallelise it more easily

Signed-off-by: Frank Hamand <frankhamand@gmail.com>

* Add --parallel flag to helm test

(No functionality in this commit)

Signed-off-by: Frank Hamand <frankhamand@gmail.com>

* Run helm tests in parallel with --parallel flag

Signed-off-by: Frank Hamand <frankhamand@gmail.com>

* Add a mutex to helm test message streams

This is to protect against data races when running tests in parallel.

Signed-off-by: Frank Hamand <frankhamand@gmail.com>

* Add tests for --parallel flag

Signed-off-by: Frank Hamand <frankhamand@gmail.com>

* Add concurrency limit for parallel helm tests

Signed-off-by: Frank Hamand <frankhamand@gmail.com>

* Add test for concurrency limit

Signed-off-by: Frank Hamand <frankhamand@gmail.com>

* Fix rebase introduced errors

Signed-off-by: Frank Hamand <frankhamand@gmail.com>
2018-12-05 14:04:48 -08:00
jgleonard b846560f48 formatting
Signed-off-by: jgleonard <jgleonard@gmail.com>
2018-11-07 13:36:44 -05:00
Jon Leonard a499cf3517 Merge branch 'master' into 2751 2018-11-01 15:02:17 -04:00
jgleonard 1518f961af fix(helm): add --render-subchart-notes flag to 'helm install' and 'helm upgrade'
When 'helm <install|upgrade> --render-subchart-notes ...' is run, this will include
the notes from the subchart when rendered via Tiller.

Closes #2751

Signed-off-by: jgleonard <jgleonard@gmail.com>
2018-11-01 14:57:01 -04:00
Arash Deshmeh 380ca1a923 feat(helm): add ability to sort release list by chart name
Signed-off-by: Arash Deshmeh <adeshmeh@ca.ibm.com>
2018-09-01 05:40:07 -04:00
Matthew Fisher 2d77db11fa change copyright to "Copyright The Helm Authors" 2018-07-30 08:29:17 -07:00
Matthew Fisher 50ebdd808d Merge pull request #3825 from adshmh/3581-feat-allow-custom-desc-after-helm-release-upgrade
Feature: allow custom description after helm release upgrade
2018-07-10 07:43:36 -07:00
AdamDang 69f10ca73b Some small typos:
Some small typos:
Line 92: stategies->strategies
Line 263: namepace->namespace
Line 266: ReuseName->Reuse_name
2018-07-06 15:46:20 +08:00
Arash Deshmeh 8389fe1d58 added description field to api types UpdateReleaseRequest, InstallReleaseRequest, UninstallReleaseRequest, and RollbackReleaseRequest
Signed-off-by: Arash Deshmeh <adeshmeh@ca.ibm.com>
2018-06-05 17:15:52 -04:00
Matt Butcher 0699ec4248 feat(tiller): support CRD installation (#3982)
This adds support for installing CRDs well before any other resource
kinds are installed.

This PR introduces a new hook, `crd-install`, that fires before
manifests are even validated. It is used to install a CRD before any
other part of a chart is installed.

Currently, this hook is _only implemented for install_. That means we
currently cannot add new CRDs during `helm upgrade`, nor can they
be rolled back. This is the safest configuration, as the update/rollback
cycle gets very challenging when CRDs are added and removed.
2018-05-11 12:09:38 -06:00
Alexey igrychev 1d4883bf3c Implement before-hook-creation delete policy
Existing helm.sh/hook-delete-policy annotation variables (hook-failed, hook-succeeded) do not allow to leave failed jobs for debugging without blocking the next job launching: every failed job must be deleted manually before the next related release is launching (installing, updating or rolling back).

New policy, before-hook-creation, removes the hook from previous release if there is one before the new hook is launched and can be used with another variable.
2018-03-21 18:13:53 +03:00
Frederik Carlier fbe17d277e Fix typo 2018-02-16 14:32:01 +01:00
xuhaigang 61623bfe2d feat(tiller/proto):Allow charts to specify k8s compatibility in semver field
Add an optional field kubeVersion to Chart.yaml that allows the chart
developer to specify a semver compliant version.

Closes #2708, #2706
2018-01-06 10:02:09 +08:00
Matt Farina 22e5381251 feat(chart): Adding maintainer url
Each maintainer can have an optional URL. There are seceral use
cases for providing a URL instead of an email address:
- The case where a maintainer wants to hide their email address
  behind a webform for personal security
- When the maintainer is an organization and feedback should
  go to an issue queue

This change:
- Adds the proto field for url
- Updates the generated files for the chart proto
- Includes linting for the url
- Updates the docs to include the url

Closes #3056
2017-10-24 11:44:28 -04:00
DockerZK 734b124577 feat(*) add key helm.sh/hook-delete-policy to hook annotation
When "helm.sh/hook-delete-policy: hook-succeeded" is provided in a hook's annotation, Tiller will automatically delete the hook after the hook is succeeded. When "helm.sh/hook-delete-policy: hook-failed" is provided in a hook's annotation, Tiller will automatically delete the hook after the hook is failed.

Closes #1769
2017-08-24 12:18:28 +08:00
Kira 4c1a47480e feat(2450): add annotations to chart metadata (#2671)
* feat(2450): add options to chart metadata
2017-08-16 18:27:13 -04:00
Aishwarya Thangappa 915e7023c4 Added more granular statuses 2017-07-13 15:20:07 -07:00
Aishwarya Thangappa a9c16fc964 Added PENDING status to status.proto and regenerated the pb.go files 2017-07-12 15:04:34 -07:00
peay 0f26cc5522 Add --force to upgrade and rollback 2017-05-26 17:04:57 -04:00
Michelle Noorali 488ca6fdd8 fix(*): return non-zero exit code on test failure
* resolves #2089
2017-05-15 21:42:44 -04: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 8b33e4720b Update release proto 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
Matt Butcher e4e0e32064 feat(tiller): support version constraint on chart
This provides the Chart.yaml field `tillerVersion`, which is a semver
range. It allows users to choose to constrain a chart to a specific
version.

The reason for this is that we keep introducing new template functions,
but we have no way of saying "this chart will only work with Tiller
newer than...".

The check on version is _only_ done on Tiller. The client does not check
at all, since it does not do any template expansion on its own.
2017-04-06 17:01:09 -06:00
Adam Reese e4d39fd8c8 fix(*): add missing proto for weight hook 2017-04-04 01:00:38 -07:00
Matt Butcher daa39c2689 feat(helm): add --reuse-values flag to upgrade
This makes it possible to re-use the existing values on an upgrade,
merging in any new values set by `-f` or `--set`.

Closes #1876
2017-04-03 13:54:45 -06:00
Adnan Abdulhussein 8210dc7883 feat(proto): add deprecated field 2017-03-14 16:32:43 +00:00
Matt Butcher 396f6cbcb2 feat(proto): add appVersion field
This provides a simple field to expose the version of the application
contained in a chart.

Closes #2036
2017-03-07 14:48:24 -07:00
Michelle Noorali 6a062e45b7 featt(*): add support for test-failure hook
resolves #1927
2017-02-14 08:12:30 -08:00
Matt Butcher 889902c381 Merge pull request #1917 from jascott1/tags_conds
feat(helm): add conditions and tags
2017-02-13 15:48:55 -07:00
Vaughn Dice 4a57b01a47 feat(helm): add cleanup flag to test command 2017-02-13 15:02:49 -07:00
Justin Scott 8ef733ca7d feat(helm): add conditions and tags
This feature adds the ability to selectively control the loading of charts using entries in top chart's values.
When 'helm install --set tags.mytag=true', charts with that tag will be enabled unless disabled in parent by condition.
When 'helm install --set mychart.enabled=true', charts with that yaml path specified will be enabled.

Closes #1837
2017-02-11 12:56:43 -08:00
Larry Rensing 294d18d567 Merge remote-tracking branch 'upstream/master' into feat/list-namespaces 2017-02-09 12:17:20 -06:00
Larry Rensing 8cb931925e Merge remote-tracking branch 'upstream/master' into feat/list-namespaces 2017-02-09 12:00:37 -06:00
Vaughn Dice 140caa081b feat(cmd/helm/status): add last test suite run to status output 2017-02-08 09:54:25 -07:00
Michelle Noorali c7e2d186a5 Merge pull request #1777 from michelleN/feat/1163-chart-testing
feat(*): add helm test initial framework
2017-02-08 09:28:32 -05:00
Michelle Noorali 538e8297ef ref(*): add namespace info to failing test msg
* also cleanup comments
2017-02-06 10:39:57 -05:00
Adam Reese fd210dfd30 ref(hapi): remove never used proto field 2017-02-02 19:45:13 -08:00
Michelle Noorali bf9ae52e1c ref(*): change test hook to be test-success 2017-02-02 12:23:52 -05:00
Michelle Noorali e132191275 ref(pkg/): refactor helm test logic
pulled logic out in pkg/releasetesting
2017-02-01 10:55:58 -05:00
Michelle Noorali 58c05f87d7 feat(*): stream helm test messages to client 2017-01-31 20:57:28 -05:00