Comments (4)
It's hard to decide what to do here because helm has its hands tied.
There isn't really a non-destructive action you can take.
If you delete --purge
, it causes downtime.
Maybe removing the release's storage (ConfigMap/Secret) from the tiller namespace could work in most cases as long as you're not messing with CRD's?
That changes the hook behavior though.
In general, the 2.7.1+ behavior is borked and really needs a proper fix in helm.
I'm still pinned on 2.7.0 because of this.
from reckoner.
at least we could modify the error message. Instead of
Error: UPGRADE FAILED: "my-app" has no deployed releases
It could say:
Error: UPGRADE FAILED: "my-app" was previously deleted, or deployment failed. Try helm delete --purge my-app
from reckoner.
I think a flag that allow helm to take over existing resources and override them(without deleting them or leading to any kind of down time) will be very useful in such cases(provide a descent bypass, other claim that force delete and create - hence potential downtime).
The real solution is to fix the bug. The bug is that on failed helm deployment/upgrade that was able to create one or more resources(but not all of them) - does not register those resources as created by helm(therefore leaving those resources as if they were created by other entity and that fails the next helm runs with the error).
The solution is that any resource that is successfully created by helm should get written to the state - even if the helm install/upgrade failed, regardless of the end result resources that got pushed should be registered accordingly.
from reckoner.
I think a flag that allow helm to take over existing resources and override them(without deleting them or leading to any kind of down time) will be very useful in such cases
Helm 3 actually has this capability by adding the correct labels to resources.
The real solution is to fix the bug. The bug is that on failed helm deployment/upgrade that was able to create one or more resources(but not all of them) - does not register those resources as created by helm(therefore leaving those resources as if they were created by other entity and that fails the next helm runs with the error).
Agreed, it would be nice if this bug were better handled by Helm. Helm 3 is getting better at it, but it's still not perfect.
from reckoner.
Related Issues (20)
- Completion scripts - complete course names
- [Docs] Update documentation for Go release
- chart specific namespace_management applies to all namespaces HOT 1
- Gitops functionality
- gitops package
- argocd gitops implementation
- Gitops yaml split into separate files HOT 2
- cannot use environment variable for release namespace HOT 2
- Reckoner 6.0.0-rc4 does not interpolate environment variables in release values HOT 2
- reckoner convert should not parse environment variables
- reckoner delete course capability HOT 1
- Docker image for Reckoner HOT 6
- Clarify the usage of secrets - replace helm values by secrets ? HOT 3
- v2 course file conversion does not handle the gitops field
- v2 course file conversion gets rid of secrets HOT 1
- Validation Errors for Unused Variables HOT 2
- basic template error HOT 6
- Using diff with an unexisting chart version shows no difference
- Can't use $ in strings as expected in reckoner 6 HOT 4
- Reckoner not rendering Job annotations HOT 1
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 reckoner.