Skip to content

Commit 8312d8e

Browse files
authored
Merge pull request kubernetes#130560 from stlaz/remote-uid-config-beta
RemoteRequestHeaderUID: bump to beta, enabled by default
2 parents 8559194 + b3890d9 commit 8312d8e

File tree

4 files changed

+39
-28
lines changed

4 files changed

+39
-28
lines changed

pkg/features/versioned_kube_features.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -299,6 +299,7 @@ var defaultVersionedKubernetesFeatureGates = map[featuregate.Feature]featuregate
299299

300300
genericfeatures.RemoteRequestHeaderUID: {
301301
{Version: version.MustParse("1.32"), Default: false, PreRelease: featuregate.Alpha},
302+
{Version: version.MustParse("1.33"), Default: true, PreRelease: featuregate.Beta},
302303
},
303304

304305
genericfeatures.ResilientWatchCacheInitialization: {

staging/src/k8s.io/apiserver/pkg/features/kube_features.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -343,6 +343,7 @@ var defaultVersionedKubernetesFeatureGates = map[featuregate.Feature]featuregate
343343

344344
RemoteRequestHeaderUID: {
345345
{Version: version.MustParse("1.32"), Default: false, PreRelease: featuregate.Alpha},
346+
{Version: version.MustParse("1.33"), Default: true, PreRelease: featuregate.Beta},
346347
},
347348

348349
ResilientWatchCacheInitialization: {

staging/src/k8s.io/kube-aggregator/pkg/apiserver/handler_proxy_test.go

Lines changed: 33 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,6 @@ import (
5757
utilflowcontrol "k8s.io/apiserver/pkg/util/flowcontrol"
5858
apiserverproxyutil "k8s.io/apiserver/pkg/util/proxy"
5959
"k8s.io/client-go/transport"
60-
"k8s.io/component-base/featuregate"
6160
featuregatetesting "k8s.io/component-base/featuregate/testing"
6261
"k8s.io/component-base/metrics"
6362
"k8s.io/component-base/metrics/legacyregistry"
@@ -134,10 +133,11 @@ func TestProxyHandler(t *testing.T) {
134133
expectedCalled bool
135134
expectedHeaders map[string][]string
136135

137-
enableFeatureGates []featuregate.Feature
136+
remoteRequestHeaderUIDFeature bool
138137
}{
139138
"no target": {
140-
expectedStatusCode: http.StatusNotFound,
139+
expectedStatusCode: http.StatusNotFound,
140+
remoteRequestHeaderUIDFeature: true,
141141
},
142142
"no user": {
143143
apiService: &apiregistration.APIService{
@@ -153,10 +153,11 @@ func TestProxyHandler(t *testing.T) {
153153
},
154154
},
155155
},
156-
expectedStatusCode: http.StatusInternalServerError,
157-
expectedBody: "missing user",
156+
expectedStatusCode: http.StatusInternalServerError,
157+
expectedBody: "missing user",
158+
remoteRequestHeaderUIDFeature: true,
158159
},
159-
"proxy with user, insecure": {
160+
"[-RemoteRequestHeaderUID] proxy with user, insecure": {
160161
user: &user.DefaultInfo{
161162
Name: "username",
162163
UID: "6b60d791-1af9-4513-92e5-e4252a1e0a78",
@@ -177,8 +178,9 @@ func TestProxyHandler(t *testing.T) {
177178
},
178179
},
179180
},
180-
expectedStatusCode: http.StatusOK,
181-
expectedCalled: true,
181+
remoteRequestHeaderUIDFeature: false,
182+
expectedStatusCode: http.StatusOK,
183+
expectedCalled: true,
182184
expectedHeaders: map[string][]string{
183185
"X-Forwarded-Proto": {"https"},
184186
"X-Forwarded-Uri": {"/request/path"},
@@ -189,7 +191,7 @@ func TestProxyHandler(t *testing.T) {
189191
"X-Remote-Group": {"one", "two"},
190192
},
191193
},
192-
"[RemoteRequestHeaderUID] proxy with user, insecure": {
194+
"proxy with user, insecure": {
193195
user: &user.DefaultInfo{
194196
Name: "username",
195197
UID: "6b60d791-1af9-4513-92e5-e4252a1e0a78",
@@ -210,9 +212,9 @@ func TestProxyHandler(t *testing.T) {
210212
},
211213
},
212214
},
213-
enableFeatureGates: []featuregate.Feature{features.RemoteRequestHeaderUID},
214-
expectedStatusCode: http.StatusOK,
215-
expectedCalled: true,
215+
remoteRequestHeaderUIDFeature: true,
216+
expectedStatusCode: http.StatusOK,
217+
expectedCalled: true,
216218
expectedHeaders: map[string][]string{
217219
"X-Forwarded-Proto": {"https"},
218220
"X-Forwarded-Uri": {"/request/path"},
@@ -224,7 +226,7 @@ func TestProxyHandler(t *testing.T) {
224226
"X-Remote-Group": {"one", "two"},
225227
},
226228
},
227-
"proxy with user, cabundle": {
229+
"[-RemoteRequestHeaderUID] proxy with user, cabundle": {
228230
user: &user.DefaultInfo{
229231
Name: "username",
230232
UID: "6b60d791-1af9-4513-92e5-e4252a1e0a78",
@@ -245,8 +247,9 @@ func TestProxyHandler(t *testing.T) {
245247
},
246248
},
247249
},
248-
expectedStatusCode: http.StatusOK,
249-
expectedCalled: true,
250+
remoteRequestHeaderUIDFeature: false,
251+
expectedStatusCode: http.StatusOK,
252+
expectedCalled: true,
250253
expectedHeaders: map[string][]string{
251254
"X-Forwarded-Proto": {"https"},
252255
"X-Forwarded-Uri": {"/request/path"},
@@ -257,7 +260,7 @@ func TestProxyHandler(t *testing.T) {
257260
"X-Remote-Group": {"one", "two"},
258261
},
259262
},
260-
"[RemoteRequestHeaderUID] proxy with user, cabundle": {
263+
"proxy with user, cabundle": {
261264
user: &user.DefaultInfo{
262265
Name: "username",
263266
UID: "6b60d791-1af9-4513-92e5-e4252a1e0a78",
@@ -278,9 +281,9 @@ func TestProxyHandler(t *testing.T) {
278281
},
279282
},
280283
},
281-
enableFeatureGates: []featuregate.Feature{features.RemoteRequestHeaderUID},
282-
expectedStatusCode: http.StatusOK,
283-
expectedCalled: true,
284+
remoteRequestHeaderUIDFeature: true,
285+
expectedStatusCode: http.StatusOK,
286+
expectedCalled: true,
284287
expectedHeaders: map[string][]string{
285288
"X-Forwarded-Proto": {"https"},
286289
"X-Forwarded-Uri": {"/request/path"},
@@ -313,7 +316,8 @@ func TestProxyHandler(t *testing.T) {
313316
},
314317
},
315318
},
316-
expectedStatusCode: http.StatusServiceUnavailable,
319+
remoteRequestHeaderUIDFeature: true,
320+
expectedStatusCode: http.StatusServiceUnavailable,
317321
},
318322
"service unresolveable": {
319323
user: &user.DefaultInfo{
@@ -337,7 +341,8 @@ func TestProxyHandler(t *testing.T) {
337341
},
338342
},
339343
},
340-
expectedStatusCode: http.StatusServiceUnavailable,
344+
remoteRequestHeaderUIDFeature: true,
345+
expectedStatusCode: http.StatusServiceUnavailable,
341346
},
342347
"fail on bad serving cert": {
343348
user: &user.DefaultInfo{
@@ -359,7 +364,8 @@ func TestProxyHandler(t *testing.T) {
359364
},
360365
},
361366
},
362-
expectedStatusCode: http.StatusServiceUnavailable,
367+
remoteRequestHeaderUIDFeature: true,
368+
expectedStatusCode: http.StatusServiceUnavailable,
363369
},
364370
"fail on bad serving cert w/o SAN and increase SAN error counter metrics": {
365371
user: &user.DefaultInfo{
@@ -382,9 +388,10 @@ func TestProxyHandler(t *testing.T) {
382388
},
383389
},
384390
},
385-
serviceCertOverride: svcCrtNoSAN,
386-
increaseSANWarnCounter: true,
387-
expectedStatusCode: http.StatusServiceUnavailable,
391+
serviceCertOverride: svcCrtNoSAN,
392+
increaseSANWarnCounter: true,
393+
remoteRequestHeaderUIDFeature: true,
394+
expectedStatusCode: http.StatusServiceUnavailable,
388395
},
389396
}
390397

@@ -394,9 +401,7 @@ func TestProxyHandler(t *testing.T) {
394401
legacyregistry.Reset()
395402

396403
t.Run(name, func(t *testing.T) {
397-
for _, f := range tc.enableFeatureGates {
398-
featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, f, true)
399-
}
404+
featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, features.RemoteRequestHeaderUID, tc.remoteRequestHeaderUIDFeature)
400405

401406
targetServer := httptest.NewUnstartedServer(target)
402407
serviceCert := tc.serviceCertOverride

test/compatibility_lifecycle/reference/versioned_feature_list.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1117,6 +1117,10 @@
11171117
lockToDefault: false
11181118
preRelease: Alpha
11191119
version: "1.32"
1120+
- default: true
1121+
lockToDefault: false
1122+
preRelease: Beta
1123+
version: "1.33"
11201124
- name: ResilientWatchCacheInitialization
11211125
versionedSpecs:
11221126
- default: true

0 commit comments

Comments
 (0)