Comments (11)
from helm-controller.
Same problem here!
from helm-controller.
Can you give an example of a before and after HelmChart CR that fails?
from helm-controller.
I suspect issue is the job uses helm install
, which is perform when the args
method parses over the helm spec.
https://github.com/rancher/helm-controller/blob/master/pkg/helm/controller.go#L321
To make it more idempotent, we should probably change the args to helm upgrade --install
from helm-controller.
I dug around some more.. here is a sample when install is present
apiVersion: helm.cattle.io/v1
kind: HelmChart
metadata:
name: wordpress
namespace: default
spec:
targetNamespace: default
chart: wordpress
repo: https://charts.bitnami.com/bitnami
version: 7.4.0
set:
persistence.enabled: "false"
mariadb.master.persistence.enabled: "false"
helmVersion: v3
Initial install works fine. When I update the manifest to a new version
apiVersion: helm.cattle.io/v1
kind: HelmChart
metadata:
name: wordpress
namespace: default
spec:
targetNamespace: default
chart: wordpress
repo: https://charts.bitnami.com/bitnami
version: 9.0.0
set:
persistence.enabled: "false"
mariadb.master.persistence.enabled: "false"
helmVersion: v3
https://github.com/rancher/klipper-helm/blob/master/entry#L33
I suspect check should be [ $INSTALLED_VERSION != $VERSION ]
for the upgrade branch to be executed.
Because of equality comparison the code falls through and goes back to the default execution:
https://github.com/rancher/klipper-helm/blob/master/entry#L33
After the tweak, the upgrade works as expected.
Already installed wordpress, upgrading
+ echo Already installed wordpress, upgrading
+ shift 1
+ helm_v3 --namespace default --repo https://charts.bitnami.com/bitnami --version 9.0.0 --set mariadb.master.persistence.enabled=false --set persistence.enabled=false upgrade wordpress wordpress
from helm-controller.
Perhaps using helm upgrade --install
would work better.
It should be possible to modify values and redeploy.
I am seeing the same error: Error: cannot re-use a name that is still in use
.
The weird thing is that I see this error after deleting the helm chart CR.
I made a change to a helm chart and it caused the helm-install job to fail. I deleted the HelmChart Custom Resource and attempted to reinstall when I saw the Custom Resource actually disappear.
Now I can't install that chart.
from helm-controller.
+1 for this issue. My use case is with jupyterhub on k3s. Deploying initially works fine, redeploying with updates image or what have breaks with Error: cannot re-use a name that is still in use
.
On regular k8s
we use the helm upgrade --install
command for our workflow, so that will probably fix it.
from helm-controller.
I stopped using this and moved over to using HelmRelease from the fluxcd folks:
https://github.com/fluxcd/helm-operator-get-started
from helm-controller.
Seems fixed in klipper-helm v0.2.4 and helm-controller v0.6.3 already ship klipper-helm v0.2.7.
Can this issue be closed? Or problem is still there?
from helm-controller.
Verified in k3s version v1.19.2+k3s1, above issue is resolved.
Installed openebs chart to validate
INSTALLED_VERSION: 1.8.0
UPGRADED to VERSION: 1.9.0
kubectl describe pod -n kube-system helm-install-openebs-24mm7 |grep VERSION
VERSION: 1.8.0
kubectl describe pod -n kube-system helm-install-openebs-g5vlf |grep VERSION
VERSION: 1.9.0
from helm-controller.
Closing this on behalf of @ShylajaDevadiga
@cjellick or I to fix her permissions.
from helm-controller.
Related Issues (20)
- Is it possible to specify options --reuse-values, --reset-values? HOT 4
- The helm-delete job is not cleaned when helm release is deleted by helmchart CR HOT 24
- Support multiple HelmChartConfig HOT 2
- Klipper is unable to upgrade chart with PDB HOT 12
- v13.3 not released for amd64 HOT 2
- Helm Controller is constantly requeuing deployments HOT 8
- repoCA as a secret reference HOT 4
- modified helm install-job using the k8s dynamic admission controller by injecting some custom labels and annotations into it, causing the Helm Controller is error syncing constantly requeuing HOT 2
- RBAC needed for namespaced deployment HOT 3
- Support set from HelmChartConfig HOT 1
- Fix missing escape for IPv6 support. HOT 4
- How to install the klipper helm chart HOT 2
- Missing documentation for HelmChart and other API objects HOT 3
- Feature: Allow set default job image via env var HOT 4
- No status in HelmChart can reflect the deploying status of a chart HOT 3
- FR: Add `spec.values` to the HelmChart CRD for structured YAML support HOT 10
- IPv6 cluster bootstrap failure HOT 7
- Add option to generate CRD HOT 1
- HelmChart is not passing the --caFile arg with repoCAConfigMap is set HOT 1
- Job image pull secrets
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from helm-controller.