-
Notifications
You must be signed in to change notification settings - Fork 1.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[multi-container] toggling the default enable-multi-container from true to false will break things #7241
Comments
This might be somewhat non-trivial as our current validation logic for ConfigMaps only gets the state of the update itself, not the "before" state, thus (I think?) it cannot decide whether you're actually toggling or not. As such, this might require significant changes to how we validate ConfigMaps in our webhook. Does that sound right @dprotaso? |
Yeah I was thinking about that as well |
We might be lucky because the We could then create a Line 154 in 5ce203e
Does that sound just about feasible? I'd take this issue to mentor a new contributor in :). |
I don't see this working though. I can just delete the CM. Or you're going to block deletion of CM as well? |
@markusthoemmes regarding update If I read correctly this new enhancement by K8s (immutable configmaps) might be useful so configuration could be split to immutable and mutable parts. @vagababov It will probably cover deletion too. |
Our current min K8s version is 1.16 so it'll be sometime before we can adopt that feature |
Also we don't want CMs to be immutable. But operators might, i.e. mark the CMs as immutable in the operator deployment. |
I also realize this issue applies to other features - ie. enabling and disabling fieldref. Maybe the solution for now is operator awareness - maybe via comments in the features configmap |
True it will take a few months, but it seems it will go to Beta.
If there are settings not meant to be changed once set, then they can be put in a special immutable configmap. This way it would be clear what can or cannot be changed at runtime IMHO. |
Seems to me as adding a cautionary warning to the configmap setting is sufficient for now? |
Warning is fine.
Not necessarily true, settings might be set by mistake. I might be sure that disabling the setting is going to be safe, etc. |
@markusthoemmes afaik the setting has been removed from the |
|
/assign |
What version of Knative?
enable-multi-container
flag was introduced in this PR #7167Expected Behavior
Operators who set
enable-multi-container
default totrue
shouldn't be able to set it back tofalse
or even delete the entry in the config mapActual Behavior
There are no restrictions to how
enable-multi-container
can be set.Thus if users create multi-container revisions and then the operator sets the default to
false
reconciliation of those resources will start to constantly fail.Steps to Reproduce the Problem
The text was updated successfully, but these errors were encountered: