Hey there!I'm working on "Kubevirt CR: allow disabling feature gates", #14427.With this approach it is impossible to explicitly disable a feature gate.Disabling a feature gate is very important for different reasons, the main one arguably being that it opens the door to enable beta feature gates by default. This capability is very important, because it allows widely testing a feature upstream (which will at least be tested by CI and developers, alongside small users) while disabling it downstream. This approach enables to gain wider feedback and confidence before the feature becomes GA.However, as detailed in this comment, we have a discussion on what's the right approach to tackle this. TLDR, alternatives are:
- Create another field to set FGs in the form of a feature gate map.
- Enable special syntax to disable feature gates, using the current slice API field. This PR currently implements "feature=false", another idea was to allow "!feature".
- Create another DisabledFeatureGates slice for disabling feature gates.
(more info in the linked comment).Since there are different opinions on this, I'd love to hear your thoughts and get as wide feedback as possible. Feel free to share your thoughts in the PR.Thanks!Itamar.
--
You received this message because you are subscribed to the Google Groups "kubevirt-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to kubevirt-dev...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/kubevirt-dev/CALpNySzF8XNG%3Dx82eeGzc0F%3DU6c4EGNu8HChoKGj2nqc6aRVag%40mail.gmail.com.
On Wed, May 14, 2025 at 1:13 PM 'Itamar Holder' via kubevirt-dev <kubevi...@googlegroups.com> wrote:Hey there!I'm working on "Kubevirt CR: allow disabling feature gates", #14427.With this approach it is impossible to explicitly disable a feature gate.Disabling a feature gate is very important for different reasons, the main one arguably being that it opens the door to enable beta feature gates by default. This capability is very important, because it allows widely testing a feature upstream (which will at least be tested by CI and developers, alongside small users) while disabling it downstream. This approach enables to gain wider feedback and confidence before the feature becomes GA.However, as detailed in this comment, we have a discussion on what's the right approach to tackle this. TLDR, alternatives are:
- Create another field to set FGs in the form of a feature gate map.
I liked this because it makes clear that the order of FGs does not matter. But the price of deprecating the FeatureGates slice is very high (e.g., we still have not finished paying it for vm.running->vm.runStrategy)
- Enable special syntax to disable feature gates, using the current slice API field. This PR currently implements "feature=false", another idea was to allow "!feature".
As mentioned by others, this is not structured. It requires more than Marshal/Unmarshal to read and write. I'd stay away.
- Create another DisabledFeatureGates slice for disabling feature gates.
FWIW, I prefer this, as it gives us what we need, with a relatively small cost. Still, it is less pure than the first option, as it provides the user multiple ways to express the same desired state.
--FeatureGates: [x,y]may mean the same asFeatureGates: [y,x]as well as the jointFeatureGates: [x,y,z]DisableFeatureGates: [z]--(more info in the linked comment).Since there are different opinions on this, I'd love to hear your thoughts and get as wide feedback as possible. Feel free to share your thoughts in the PR.Thanks!Itamar.
You received this message because you are subscribed to the Google Groups "kubevirt-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to kubevirt-dev...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/kubevirt-dev/CALpNySzF8XNG%3Dx82eeGzc0F%3DU6c4EGNu8HChoKGj2nqc6aRVag%40mail.gmail.com.
You received this message because you are subscribed to the Google Groups "kubevirt-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to kubevirt-dev...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/kubevirt-dev/CAHOEP55J8bJnDx0fPB4mKOD%2Bdp-y11OpEV8fznr2zcv8KYCx%2Bw%40mail.gmail.com.
On Thu, May 15, 2025 at 9:18 AM 'Dan Kenigsberg' via kubevirt-dev <kubevi...@googlegroups.com> wrote:On Wed, May 14, 2025 at 1:13 PM 'Itamar Holder' via kubevirt-dev <kubevi...@googlegroups.com> wrote:Hey there!I'm working on "Kubevirt CR: allow disabling feature gates", #14427.With this approach it is impossible to explicitly disable a feature gate.Disabling a feature gate is very important for different reasons, the main one arguably being that it opens the door to enable beta feature gates by default. This capability is very important, because it allows widely testing a feature upstream (which will at least be tested by CI and developers, alongside small users) while disabling it downstream. This approach enables to gain wider feedback and confidence before the feature becomes GA.However, as detailed in this comment, we have a discussion on what's the right approach to tackle this. TLDR, alternatives are:
- Create another field to set FGs in the form of a feature gate map.
@al...@nvidia.com raised some concern here. Alay can you iterate here as well for the record?
|
External email: Use caution opening links or attachments
|
On Thu, May 15, 2025 at 9:18 AM 'Dan Kenigsberg' via kubevirt-dev <kubevi...@googlegroups.com> wrote:
On Wed, May 14, 2025 at 1:13 PM 'Itamar Holder' via kubevirt-dev <kubevi...@googlegroups.com> wrote:Hey there!
I'm working on "Kubevirt CR: allow disabling feature gates", #14427.
With this approach it is impossible to explicitly disable a feature gate.Disabling a feature gate is very important for different reasons, the main one arguably being that it opens the door to enable beta feature gates by default. This capability is very important, because it allows widely testing a feature upstream (which will at least be tested by CI and developers, alongside small users) while disabling it downstream. This approach enables to gain wider feedback and confidence before the feature becomes GA.
However, as detailed in this comment, we have a discussion on what's the right approach to tackle this. TLDR, alternatives are:
- Create another field to set FGs in the form of a feature gate map.
@al...@nvidia.com raised some concern here. Alay can you iterate here as well for the record?