From 81e19449a5fa8039ed3bf7942e4e6c1dba20cd6c Mon Sep 17 00:00:00 2001 From: Hongliang Liu Date: Wed, 16 Aug 2023 10:52:15 +0800 Subject: [PATCH] Promote feature gate EndpointSlice to GA Signed-off-by: Hongliang Liu --- build/charts/antrea/conf/antrea-agent.conf | 5 ----- build/yamls/antrea-aks.yml | 9 ++------- build/yamls/antrea-eks.yml | 9 ++------- build/yamls/antrea-gke.yml | 9 ++------- build/yamls/antrea-ipsec.yml | 9 ++------- build/yamls/antrea-windows-containerd-with-ovs.yml | 9 ++------- build/yamls/antrea-windows-containerd.yml | 9 ++------- build/yamls/antrea-windows.yml | 9 ++------- build/yamls/antrea.yml | 9 ++------- build/yamls/windows/base/conf/antrea-agent.conf | 5 ----- docs/feature-gates.md | 4 ++-- pkg/apiserver/handlers/featuregates/handler_test.go | 2 +- pkg/features/antrea_features.go | 3 ++- 13 files changed, 21 insertions(+), 70 deletions(-) diff --git a/build/charts/antrea/conf/antrea-agent.conf b/build/charts/antrea/conf/antrea-agent.conf index 03b24c263fb..d81b5cd509b 100644 --- a/build/charts/antrea/conf/antrea-agent.conf +++ b/build/charts/antrea/conf/antrea-agent.conf @@ -11,11 +11,6 @@ featureGates: # Service traffic. {{- include "featureGate" (dict "featureGates" .Values.featureGates "name" "AntreaProxy" "default" true) }} -# Enable EndpointSlice support in AntreaProxy. Don't enable this feature unless that EndpointSlice -# API version v1 is supported and set as enabled in Kubernetes. If AntreaProxy is not enabled, -# this flag will not take effect. -{{- include "featureGate" (dict "featureGates" .Values.featureGates "name" "EndpointSlice" "default" true) }} - # Enable TopologyAwareHints in AntreaProxy. This requires AntreaProxy and EndpointSlice to be # enabled, otherwise this flag will not take effect. {{- include "featureGate" (dict "featureGates" .Values.featureGates "name" "TopologyAwareHints" "default" true) }} diff --git a/build/yamls/antrea-aks.yml b/build/yamls/antrea-aks.yml index 0a9e3d85ee3..ecafb6e83d1 100644 --- a/build/yamls/antrea-aks.yml +++ b/build/yamls/antrea-aks.yml @@ -5466,11 +5466,6 @@ data: # Service traffic. # AntreaProxy: true - # Enable EndpointSlice support in AntreaProxy. Don't enable this feature unless that EndpointSlice - # API version v1 is supported and set as enabled in Kubernetes. If AntreaProxy is not enabled, - # this flag will not take effect. - # EndpointSlice: true - # Enable TopologyAwareHints in AntreaProxy. This requires AntreaProxy and EndpointSlice to be # enabled, otherwise this flag will not take effect. # TopologyAwareHints: true @@ -6826,7 +6821,7 @@ spec: kubectl.kubernetes.io/default-container: antrea-agent # Automatically restart Pods with a RollingUpdate if the ConfigMap changes # See https://helm.sh/docs/howto/charts_tips_and_tricks/#automatically-roll-deployments - checksum/config: 0fe31d415fe2bb2160670b7f02673f0247e278889974674a5f0db66a67268c68 + checksum/config: d6e7f13a7366490d3b4fe8b7aa6183eef4477d1c7bef7337b24af502a50ca2da labels: app: antrea component: antrea-agent @@ -7067,7 +7062,7 @@ spec: annotations: # Automatically restart Pod if the ConfigMap changes # See https://helm.sh/docs/howto/charts_tips_and_tricks/#automatically-roll-deployments - checksum/config: 0fe31d415fe2bb2160670b7f02673f0247e278889974674a5f0db66a67268c68 + checksum/config: d6e7f13a7366490d3b4fe8b7aa6183eef4477d1c7bef7337b24af502a50ca2da labels: app: antrea component: antrea-controller diff --git a/build/yamls/antrea-eks.yml b/build/yamls/antrea-eks.yml index a17c4ca0238..cba8f0bb121 100644 --- a/build/yamls/antrea-eks.yml +++ b/build/yamls/antrea-eks.yml @@ -5466,11 +5466,6 @@ data: # Service traffic. # AntreaProxy: true - # Enable EndpointSlice support in AntreaProxy. Don't enable this feature unless that EndpointSlice - # API version v1 is supported and set as enabled in Kubernetes. If AntreaProxy is not enabled, - # this flag will not take effect. - # EndpointSlice: true - # Enable TopologyAwareHints in AntreaProxy. This requires AntreaProxy and EndpointSlice to be # enabled, otherwise this flag will not take effect. # TopologyAwareHints: true @@ -6826,7 +6821,7 @@ spec: kubectl.kubernetes.io/default-container: antrea-agent # Automatically restart Pods with a RollingUpdate if the ConfigMap changes # See https://helm.sh/docs/howto/charts_tips_and_tricks/#automatically-roll-deployments - checksum/config: 0fe31d415fe2bb2160670b7f02673f0247e278889974674a5f0db66a67268c68 + checksum/config: d6e7f13a7366490d3b4fe8b7aa6183eef4477d1c7bef7337b24af502a50ca2da labels: app: antrea component: antrea-agent @@ -7068,7 +7063,7 @@ spec: annotations: # Automatically restart Pod if the ConfigMap changes # See https://helm.sh/docs/howto/charts_tips_and_tricks/#automatically-roll-deployments - checksum/config: 0fe31d415fe2bb2160670b7f02673f0247e278889974674a5f0db66a67268c68 + checksum/config: d6e7f13a7366490d3b4fe8b7aa6183eef4477d1c7bef7337b24af502a50ca2da labels: app: antrea component: antrea-controller diff --git a/build/yamls/antrea-gke.yml b/build/yamls/antrea-gke.yml index bdfda1618d3..a96c1c8e562 100644 --- a/build/yamls/antrea-gke.yml +++ b/build/yamls/antrea-gke.yml @@ -5466,11 +5466,6 @@ data: # Service traffic. # AntreaProxy: true - # Enable EndpointSlice support in AntreaProxy. Don't enable this feature unless that EndpointSlice - # API version v1 is supported and set as enabled in Kubernetes. If AntreaProxy is not enabled, - # this flag will not take effect. - # EndpointSlice: true - # Enable TopologyAwareHints in AntreaProxy. This requires AntreaProxy and EndpointSlice to be # enabled, otherwise this flag will not take effect. # TopologyAwareHints: true @@ -6826,7 +6821,7 @@ spec: kubectl.kubernetes.io/default-container: antrea-agent # Automatically restart Pods with a RollingUpdate if the ConfigMap changes # See https://helm.sh/docs/howto/charts_tips_and_tricks/#automatically-roll-deployments - checksum/config: 13d48832cc66942f3dd7d38e8ce352edd01af9459a4de2dcd1cad05479c75446 + checksum/config: 4b6f93df4bcfc9e934772e87a653ce2b119700bf09a13792dda394470443f5aa labels: app: antrea component: antrea-agent @@ -7065,7 +7060,7 @@ spec: annotations: # Automatically restart Pod if the ConfigMap changes # See https://helm.sh/docs/howto/charts_tips_and_tricks/#automatically-roll-deployments - checksum/config: 13d48832cc66942f3dd7d38e8ce352edd01af9459a4de2dcd1cad05479c75446 + checksum/config: 4b6f93df4bcfc9e934772e87a653ce2b119700bf09a13792dda394470443f5aa labels: app: antrea component: antrea-controller diff --git a/build/yamls/antrea-ipsec.yml b/build/yamls/antrea-ipsec.yml index c4cd77c44a8..b2c0f48f174 100644 --- a/build/yamls/antrea-ipsec.yml +++ b/build/yamls/antrea-ipsec.yml @@ -5479,11 +5479,6 @@ data: # Service traffic. # AntreaProxy: true - # Enable EndpointSlice support in AntreaProxy. Don't enable this feature unless that EndpointSlice - # API version v1 is supported and set as enabled in Kubernetes. If AntreaProxy is not enabled, - # this flag will not take effect. - # EndpointSlice: true - # Enable TopologyAwareHints in AntreaProxy. This requires AntreaProxy and EndpointSlice to be # enabled, otherwise this flag will not take effect. # TopologyAwareHints: true @@ -6839,7 +6834,7 @@ spec: kubectl.kubernetes.io/default-container: antrea-agent # Automatically restart Pods with a RollingUpdate if the ConfigMap changes # See https://helm.sh/docs/howto/charts_tips_and_tricks/#automatically-roll-deployments - checksum/config: 95cb599f701a0e39878a7a5a248e2f0a053d9ebcef1c5ad2eec4f397ed7a2b7f + checksum/config: e62ec96721f017ce67609370b6d18c96425135721347e0d3af6c7712df0bf7ca checksum/ipsec-secret: d0eb9c52d0cd4311b6d252a951126bf9bea27ec05590bed8a394f0f792dcb2a4 labels: app: antrea @@ -7124,7 +7119,7 @@ spec: annotations: # Automatically restart Pod if the ConfigMap changes # See https://helm.sh/docs/howto/charts_tips_and_tricks/#automatically-roll-deployments - checksum/config: 95cb599f701a0e39878a7a5a248e2f0a053d9ebcef1c5ad2eec4f397ed7a2b7f + checksum/config: e62ec96721f017ce67609370b6d18c96425135721347e0d3af6c7712df0bf7ca labels: app: antrea component: antrea-controller diff --git a/build/yamls/antrea-windows-containerd-with-ovs.yml b/build/yamls/antrea-windows-containerd-with-ovs.yml index cca93bae5bd..d6da648470a 100644 --- a/build/yamls/antrea-windows-containerd-with-ovs.yml +++ b/build/yamls/antrea-windows-containerd-with-ovs.yml @@ -86,11 +86,6 @@ data: # Service traffic. # AntreaProxy: true - # Enable EndpointSlice support in AntreaProxy. Don't enable this feature unless that EndpointSlice - # API version v1beta1 is supported and set as enabled in Kubernetes. If AntreaProxy is not enabled, - # this flag will not take effect. - # EndpointSlice: true - # Enable NodePortLocal feature to make the Pods reachable externally through NodePort # NodePortLocal: true @@ -240,7 +235,7 @@ kind: ConfigMap metadata: labels: app: antrea - name: antrea-windows-config-cb2hmgg648 + name: antrea-windows-config-c2c7f4kbbc namespace: kube-system --- apiVersion: apps/v1 @@ -355,7 +350,7 @@ spec: operator: Exists volumes: - configMap: - name: antrea-windows-config-cb2hmgg648 + name: antrea-windows-config-c2c7f4kbbc name: antrea-windows-config - configMap: defaultMode: 420 diff --git a/build/yamls/antrea-windows-containerd.yml b/build/yamls/antrea-windows-containerd.yml index dab1040d477..2c2f06cd0f6 100644 --- a/build/yamls/antrea-windows-containerd.yml +++ b/build/yamls/antrea-windows-containerd.yml @@ -37,11 +37,6 @@ data: # Service traffic. # AntreaProxy: true - # Enable EndpointSlice support in AntreaProxy. Don't enable this feature unless that EndpointSlice - # API version v1beta1 is supported and set as enabled in Kubernetes. If AntreaProxy is not enabled, - # this flag will not take effect. - # EndpointSlice: true - # Enable NodePortLocal feature to make the Pods reachable externally through NodePort # NodePortLocal: true @@ -191,7 +186,7 @@ kind: ConfigMap metadata: labels: app: antrea - name: antrea-windows-config-cb2hmgg648 + name: antrea-windows-config-c2c7f4kbbc namespace: kube-system --- apiVersion: apps/v1 @@ -275,7 +270,7 @@ spec: operator: Exists volumes: - configMap: - name: antrea-windows-config-cb2hmgg648 + name: antrea-windows-config-c2c7f4kbbc name: antrea-windows-config - configMap: defaultMode: 420 diff --git a/build/yamls/antrea-windows.yml b/build/yamls/antrea-windows.yml index 2314e7bc529..f44ab0cbd4c 100644 --- a/build/yamls/antrea-windows.yml +++ b/build/yamls/antrea-windows.yml @@ -23,11 +23,6 @@ data: # Service traffic. # AntreaProxy: true - # Enable EndpointSlice support in AntreaProxy. Don't enable this feature unless that EndpointSlice - # API version v1beta1 is supported and set as enabled in Kubernetes. If AntreaProxy is not enabled, - # this flag will not take effect. - # EndpointSlice: true - # Enable NodePortLocal feature to make the Pods reachable externally through NodePort # NodePortLocal: true @@ -177,7 +172,7 @@ kind: ConfigMap metadata: labels: app: antrea - name: antrea-windows-config-cb2hmgg648 + name: antrea-windows-config-c2c7f4kbbc namespace: kube-system --- apiVersion: apps/v1 @@ -265,7 +260,7 @@ spec: operator: Exists volumes: - configMap: - name: antrea-windows-config-cb2hmgg648 + name: antrea-windows-config-c2c7f4kbbc name: antrea-windows-config - configMap: defaultMode: 420 diff --git a/build/yamls/antrea.yml b/build/yamls/antrea.yml index 061a739ae51..c92fc5feb1c 100644 --- a/build/yamls/antrea.yml +++ b/build/yamls/antrea.yml @@ -5466,11 +5466,6 @@ data: # Service traffic. # AntreaProxy: true - # Enable EndpointSlice support in AntreaProxy. Don't enable this feature unless that EndpointSlice - # API version v1 is supported and set as enabled in Kubernetes. If AntreaProxy is not enabled, - # this flag will not take effect. - # EndpointSlice: true - # Enable TopologyAwareHints in AntreaProxy. This requires AntreaProxy and EndpointSlice to be # enabled, otherwise this flag will not take effect. # TopologyAwareHints: true @@ -6826,7 +6821,7 @@ spec: kubectl.kubernetes.io/default-container: antrea-agent # Automatically restart Pods with a RollingUpdate if the ConfigMap changes # See https://helm.sh/docs/howto/charts_tips_and_tricks/#automatically-roll-deployments - checksum/config: 7bf6d013177ed97906a3ba0dc20ba5e5e909ba3509210a0e88eaa8f4f590675c + checksum/config: 9c01298a6bca328841f5a2dbfda10dd531b76a0e1cda22588307e4cf97124a13 labels: app: antrea component: antrea-agent @@ -7065,7 +7060,7 @@ spec: annotations: # Automatically restart Pod if the ConfigMap changes # See https://helm.sh/docs/howto/charts_tips_and_tricks/#automatically-roll-deployments - checksum/config: 7bf6d013177ed97906a3ba0dc20ba5e5e909ba3509210a0e88eaa8f4f590675c + checksum/config: 9c01298a6bca328841f5a2dbfda10dd531b76a0e1cda22588307e4cf97124a13 labels: app: antrea component: antrea-controller diff --git a/build/yamls/windows/base/conf/antrea-agent.conf b/build/yamls/windows/base/conf/antrea-agent.conf index 966805518a5..82db62a0a83 100644 --- a/build/yamls/windows/base/conf/antrea-agent.conf +++ b/build/yamls/windows/base/conf/antrea-agent.conf @@ -5,11 +5,6 @@ featureGates: # Service traffic. # AntreaProxy: true -# Enable EndpointSlice support in AntreaProxy. Don't enable this feature unless that EndpointSlice -# API version v1beta1 is supported and set as enabled in Kubernetes. If AntreaProxy is not enabled, -# this flag will not take effect. -# EndpointSlice: true - # Enable NodePortLocal feature to make the Pods reachable externally through NodePort # NodePortLocal: true diff --git a/docs/feature-gates.md b/docs/feature-gates.md index dcd813ce9ef..786a3366ac7 100644 --- a/docs/feature-gates.md +++ b/docs/feature-gates.md @@ -35,7 +35,7 @@ edit the Agent configuration in the | Feature Name | Component | Default | Stage | Alpha Release | Beta Release | GA Release | Extra Requirements | Notes | |-------------------------------|--------------------|---------|-------|---------------|--------------|------------|--------------------|-----------------------------------------------| | `AntreaProxy` | Agent | `true` | Beta | v0.8 | v0.11 | N/A | Yes | Must be enabled for Windows. | -| `EndpointSlice` | Agent | `true` | Beta | v0.13.0 | v1.11 | N/A | Yes | | +| `EndpointSlice` | Agent | `true` | GA | v0.13.0 | v1.11 | v1.14 | Yes | | | `TopologyAwareHints` | Agent | `true` | Beta | v1.8 | v1.12 | N/A | Yes | | | `CleanupStaleUDPSvcConntrack` | Agent | `false` | Alpha | v1.13 | N/A | N/A | Yes | | | `LoadBalancerModeDSR` | Agent | `false` | Alpha | v1.13 | N/A | N/A | Yes | | @@ -101,7 +101,7 @@ for more information about TopologyAwareHints. #### Requirements for this Feature - `AntreaProxy` is enabled. -- `EndpointSlice` is enabled. +- EndpointSlice API version v1 is available in Kubernetes. ### LoadBalancerModeDSR diff --git a/pkg/apiserver/handlers/featuregates/handler_test.go b/pkg/apiserver/handlers/featuregates/handler_test.go index 76c975b4668..38d9e002cfb 100644 --- a/pkg/apiserver/handlers/featuregates/handler_test.go +++ b/pkg/apiserver/handlers/featuregates/handler_test.go @@ -54,7 +54,7 @@ func Test_getGatesResponse(t *testing.T) { {Component: "agent", Name: "AntreaPolicy", Status: "Disabled", Version: "BETA"}, {Component: "agent", Name: "AntreaProxy", Status: "Enabled", Version: "BETA"}, {Component: "agent", Name: "Egress", Status: egressStatus, Version: "BETA"}, - {Component: "agent", Name: "EndpointSlice", Status: "Enabled", Version: "BETA"}, + {Component: "agent", Name: "EndpointSlice", Status: "Enabled"}, {Component: "agent", Name: "AntreaIPAM", Status: "Disabled", Version: "ALPHA"}, {Component: "agent", Name: "Traceflow", Status: "Enabled", Version: "BETA"}, {Component: "agent", Name: "FlowExporter", Status: "Disabled", Version: "ALPHA"}, diff --git a/pkg/features/antrea_features.go b/pkg/features/antrea_features.go index 056b50f5db4..6691ce90d46 100644 --- a/pkg/features/antrea_features.go +++ b/pkg/features/antrea_features.go @@ -38,6 +38,7 @@ const ( // alpha: v0.13 // beta: v1.11 + // GA: v1.14 // Enable EndpointSlice support in AntreaProxy. If AntreaProxy is not enabled, this // flag will not take effect. EndpointSlice featuregate.Feature = "EndpointSlice" @@ -155,7 +156,7 @@ var ( AntreaPolicy: {Default: true, PreRelease: featuregate.Beta}, AntreaProxy: {Default: true, PreRelease: featuregate.Beta}, Egress: {Default: true, PreRelease: featuregate.Beta}, - EndpointSlice: {Default: true, PreRelease: featuregate.Beta}, + EndpointSlice: {Default: true, PreRelease: featuregate.GA}, TopologyAwareHints: {Default: true, PreRelease: featuregate.Beta}, CleanupStaleUDPSvcConntrack: {Default: false, PreRelease: featuregate.Alpha}, Traceflow: {Default: true, PreRelease: featuregate.Beta},