Commit Graph

906 Commits

Author SHA1 Message Date
Patrick Ohly
ad79e479c2 build: remove deprecated '// +build' tag
This has been replaced by `//build:...` for a long time now.

Removal of the old build tag was automated with:

    for i in $(git grep -l '^// +build' | grep -v -e '^vendor/'); do if ! grep -q '^// Code generated' "$i"; then sed -i -e '/^\/\/ +build/d' "$i"; fi; done
2025-12-18 12:16:21 +01:00
Kubernetes Prow Robot
a2a97119bb Merge pull request #135361 from Karthik-K-N/cel-test-imporvements
CEL test imporvements to use test context across test instead of generic context
2025-12-17 21:41:45 -08:00
Kubernetes Prow Robot
0f093c9f49 Merge pull request #134921 from Karthik-K-N/cel-test
Improve CEL Policy Admission test
2025-11-20 10:26:32 -08:00
Karthik Bhat
0ffcac7fc7 Use test context instead of generic context 2025-11-20 12:06:03 +05:30
Karthik Bhat
3e19cc5160 Address review comments 2025-11-19 21:07:28 +05:30
Richa Banker
b9e59e8ea9 test: Add integration tests for peer-aggregated discovery
Add comprehensive integration tests covering:
- Peer-aggregated discovery merging across multiple API servers
- CRD/APIService exclusion from peer discovery
- Profile-based content negotiation (nopeer)
- Cache invalidation on local discovery changes
- Request routing to peer servers

Part of KEP-4020: Unknown Version Interoperability Proxy
2025-11-06 12:48:22 -08:00
Kubernetes Prow Robot
c727585676 Merge pull request #134216 from Goend/master
fixed the CRD statusResetFields init issue
2025-11-05 00:44:52 -08:00
Goend
3b0913c866 fix test case 2025-11-05 11:17:00 +08:00
Kubernetes Prow Robot
c1a6a3ca71 Merge pull request #134152 from pohly/dra-device-taints-1.35
DRA: device taints: new ResourceSlice API, new features
2025-11-04 15:32:07 -08:00
Patrick Ohly
fee14ffca2 DRA API: device taints 1.35
This raises the number of allowed taints per device to 16 by lowering
the number of allowed devices to 64 per ResourceSlice if (and only if!)
taints are used.

"effect: None" and DeviceTaintRule status with conditions get added
to support giving feedback to admins.

Instead of merely adding the new effect value, this also changes validation of
the enum so that unknown values are valid if they were already stored. This
will simplify adding new effects in the future because validation won't fail
for them after a downgrade. Consumers must treat them like this new None
effect, i.e. ignore them.
2025-10-31 18:11:18 +01:00
Kubernetes Prow Robot
4ca91a6542 Merge pull request #134994 from liggitt/drop-strict-cost
Drop locked StrictCostEnforcementForVAP and StrictCostEnforcementForWebhooks feature gates
2025-10-31 07:38:12 -07:00
Kubernetes Prow Robot
b4d4cc9384 Merge pull request #123642 from aramase/aramase/f/kep_3331_jwks_metrics
Add JWKS fetch metrics for jwt authenticator
2025-10-30 22:42:02 -07:00
Jordan Liggitt
bd11e52bfc Drop locked StrictCostEnforcementForVAP and StrictCostEnforcementForWebhooks feature gates 2025-10-31 00:03:42 -04:00
Siyuan Zhang
67143028e7 Add --min-compatibility flag.
Signed-off-by: Siyuan Zhang <sizhang@google.com>
2025-10-30 13:36:38 -05:00
Anish Ramasekar
24a53fa638 add JWKS fetch metrics for jwt authenticator
Signed-off-by: Anish Ramasekar <anish.ramasekar@gmail.com>
2025-10-29 11:42:40 -07:00
Karthik Bhat
b72c9e4179 Improve CEL Policy admission test 2025-10-28 15:08:54 +05:30
Sean Sullivan
413c34f319 Added feature gate and tests 2025-10-21 20:31:24 +00:00
Goend
c48a16ebd8 fix issue 2025-10-14 18:59:23 +08:00
Goend
dfb02e7581 add TestUpdateStatusWithOldVersion integration case 2025-10-14 14:45:22 +08:00
Kubernetes Prow Robot
db63a581ca Merge pull request #134366 from tallclair/feature-gates-test
Set multiple feature gates simultaneously in test
2025-10-13 13:11:33 -07:00
Antonio Ojea
0b0a5974f8 integration test: webhook proxy behavior
adds a new integration test to verify that the API server's egress
to admission webhooks correctly respects the standard `HTTPS_PROXY`
and `NO_PROXY` environment variables.

It adds a new test util to implement a Fake DNS server that allows
to override DNS resolution in tests, specially useful for integration
test that can only bind to localhost the servers, that is ignored
by certain functionalities.
2025-10-02 22:31:08 +00:00
Tim Allclair
4986abe0b8 Automated refactoring to use SetFeatureGatesDuringTest 2025-10-01 21:10:53 -07:00
Jefftree
872981a205 Rename CLE test directories 2025-09-12 21:17:06 +00:00
Joe Betz
fc091d93d5 Update tests that depend on internal model names
Signed-off-by: Joe Betz <jpbetz@google.com>
2025-09-10 15:52:59 -04:00
Kubernetes Prow Robot
2854e946c3 Merge pull request #131430 from carlory/follow-up-127017
remove v1beta3 flowcontrol from rest storage
2025-09-10 11:48:05 -07:00
carlory
7e6aafe157 fix intergation test
Signed-off-by: carlory <baofa.fan@daocloud.io>
2025-09-10 22:51:41 +08:00
Kubernetes Prow Robot
ef4add4509 Merge pull request #133356 from mayuka-c/issue-133175
Replace usage of deprecated ErrWaitTimeout with recommended method across all Pkgs
2025-09-05 06:43:34 -07:00
Kubernetes Prow Robot
a6693542b7 Merge pull request #133781 from pohly/test-apiserver-flag-registration
test/integration/apiserver: fix several data races
2025-09-02 13:09:17 -07:00
Patrick Ohly
fa1f9d444c apiserver: avoid default toleration seconds data race for all tests
This reverts commit 2e756e7412,
which addressed the data race only for test/integration/apiserver/oidc.
It also occurs for test/integration/controlplane/transformation:

    WARNING: DATA RACE
    Read at 0x000008b9de38 by goroutine 104616:
      k8s.io/kubernetes/plugin/pkg/admission/defaulttolerationseconds.RegisterFlags()
          /home/prow/go/src/k8s.io/kubernetes/plugin/pkg/admission/defaulttolerationseconds/admission.go:42 +0x30
      k8s.io/kubernetes/pkg/kubeapiserver/options.registerAllAdmissionPluginFlags()
          /home/prow/go/src/k8s.io/kubernetes/pkg/kubeapiserver/options/plugins.go:115 +0x64
      k8s.io/kubernetes/pkg/kubeapiserver/options.(*AdmissionOptions).AddFlags()
          /home/prow/go/src/k8s.io/kubernetes/pkg/kubeapiserver/options/admission.go:73 +0x55
      k8s.io/kubernetes/pkg/controlplane/apiserver/options.(*Options).AddFlags()
          /home/prow/go/src/k8s.io/kubernetes/pkg/controlplane/apiserver/options/options.go:154 +0x388
      k8s.io/kubernetes/cmd/kube-apiserver/app/options.(*ServerRunOptions).Flags()
          /home/prow/go/src/k8s.io/kubernetes/cmd/kube-apiserver/app/options/options.go:101 +0x73
      k8s.io/kubernetes/cmd/kube-apiserver/app/testing.StartTestServer()
          /home/prow/go/src/k8s.io/kubernetes/cmd/kube-apiserver/app/testing/testserver.go:219 +0xb77
      k8s.io/kubernetes/test/integration/controlplane/transformation.newTransformTest()
          /home/prow/go/src/k8s.io/kubernetes/test/integration/controlplane/transformation/transformation_test.go:131 +0x6d0
      k8s.io/kubernetes/test/integration/controlplane/transformation.TestKMSv2Healthz()
          /home/prow/go/src/k8s.io/kubernetes/test/integration/controlplane/transformation/kmsv2_transformation_test.go:874 +0x1c8
      testing.tRunner()
          /usr/local/go/src/testing/testing.go:1792 +0x225
      testing.(*T).Run.gowrap1()
          /usr/local/go/src/testing/testing.go:1851 +0x44

    Previous write at 0x000008b9de38 by goroutine 111926:
      github.com/spf13/pflag.newInt64Value()
          /home/prow/go/src/k8s.io/kubernetes/vendor/github.com/spf13/pflag/int64.go:9 +0x49
      github.com/spf13/pflag.(*FlagSet).Int64Var()
          /home/prow/go/src/k8s.io/kubernetes/vendor/github.com/spf13/pflag/int64.go:41 +0x3d
      k8s.io/kubernetes/plugin/pkg/admission/defaulttolerationseconds.RegisterFlags()
          /home/prow/go/src/k8s.io/kubernetes/plugin/pkg/admission/defaulttolerationseconds/admission.go:42 +0x25
      k8s.io/kubernetes/pkg/kubeapiserver/options.registerAllAdmissionPluginFlags()
          /home/prow/go/src/k8s.io/kubernetes/pkg/kubeapiserver/options/plugins.go:115 +0x64
      k8s.io/kubernetes/pkg/kubeapiserver/options.(*AdmissionOptions).AddFlags()
          /home/prow/go/src/k8s.io/kubernetes/pkg/kubeapiserver/options/admission.go:73 +0x55
      k8s.io/kubernetes/pkg/controlplane/apiserver/options.(*Options).AddFlags()
          /home/prow/go/src/k8s.io/kubernetes/pkg/controlplane/apiserver/options/options.go:154 +0x388
      k8s.io/kubernetes/cmd/kube-apiserver/app/options.(*ServerRunOptions).Flags()
          /home/prow/go/src/k8s.io/kubernetes/cmd/kube-apiserver/app/options/options.go:101 +0x73
      k8s.io/kubernetes/cmd/kube-apiserver/app/testing.StartTestServer()
          /home/prow/go/src/k8s.io/kubernetes/cmd/kube-apiserver/app/testing/testserver.go:219 +0xb77
      k8s.io/kubernetes/test/integration/controlplane/transformation.newTransformTest()
          /home/prow/go/src/k8s.io/kubernetes/test/integration/controlplane/transformation/transformation_test.go:131 +0x6d0
      k8s.io/kubernetes/test/integration/controlplane/transformation.TestKMSv2FeatureFlag()
          /home/prow/go/src/k8s.io/kubernetes/test/integration/controlplane/transformation/kmsv2_transformation_test.go:1009 +0x117
      testing.tRunner()
          /usr/local/go/src/testing/testing.go:1792 +0x225
      testing.(*T).Run.gowrap1()
          /usr/local/go/src/testing/testing.go:1851 +0x44

A more general solution is to lock while registering the variables (= write)
and while reading the variables once in InspectFeatureGates.
2025-09-02 21:01:04 +02:00
Stephen Kitt
c35d5473dd Remove the otel semantics override
With the bump to otelhttp 0.61, this is no longer necessary.

Signed-off-by: Stephen Kitt <skitt@redhat.com>
2025-08-28 09:23:06 +02:00
Mayuka Channankaiah
6c56d2fd1b Replace usage of deprecated ErrWaitTimeout with recommended method across all Pkgs 2025-08-01 14:18:06 +05:30
David Ashpole
78c9672deb migrate tracing tests to use the new otelhttp semantic conventions 2025-07-30 17:12:26 +00:00
Anish Ramasekar
48eef9ce9a test: fix TestStructuredAuthenticationConfigReload flake by handling expected network errors
Signed-off-by: Anish Ramasekar <anish.ramasekar@gmail.com>
2025-07-29 08:06:39 +00:00
Patrick Ohly
21d929f599 integration: use --runtime-config-emulation-forward-compatible
Some tests do version emulation and need the DRA feature. In that combination
the --runtime-config-emulation-forward-compatible option is needed to allow
enabling the V1 API although it's only available in 1.34.
2025-07-24 08:33:56 +02:00
Patrick Ohly
5c4f81743c DRA: use v1 API
As before when adding v1beta2, DRA drivers built using the
k8s.io/dynamic-resource-allocation helper packages remain compatible with all
Kubernetes release >= 1.32. The helper code picks whatever API version is
enabled from v1beta1/v1beta2/v1.

However, the control plane now depends on v1, so a cluster configuration where
only v1beta1 or v1beta2 are enabled without the v1 won't work.
2025-07-24 08:33:45 +02:00
Patrick Ohly
cff91579e8 DRA API: v1 registration + tests 2025-07-24 08:30:25 +02:00
Kubernetes Prow Robot
9827205bfe Merge pull request #132340 from dashpole/graduate_tracing
Graduate API Server Tracing to GA
2025-07-21 14:14:33 -07:00
Anish Ramasekar
2e756e7412 fix data race in OIDC integration tests by serializing test server starts
Signed-off-by: Anish Ramasekar <anish.ramasekar@gmail.com>
2025-07-20 15:17:04 -05:00
Kubernetes Prow Robot
033ffc73d6 Merge pull request #132299 from aramase/aramase/f/authn_config_hash_metric
Add `last_config_info` metric for authn, authz and encryption config
2025-07-17 18:24:24 -07:00
Anish Ramasekar
21e2fcea9e Add automatic_reload_last_config_info metric for auth configs
Signed-off-by: Anish Ramasekar <anish.ramasekar@gmail.com>
2025-07-17 17:47:51 -05:00
Kubernetes Prow Robot
3dd0e86190 Merge pull request #132821 from cici37/mapBeta
[KEP-3962]Promote MutatingAdmissionPolicy to Beta
2025-07-17 14:18:24 -07:00
Kubernetes Prow Robot
e55e75f6d9 Merge pull request #132768 from enj/enj/f/authn_egress
Add egress selector support to JWT authenticator
2025-07-15 17:48:29 -07:00
Monis Khan
b69fd9d42c Add egress selector support to JWT authenticator
This change adds the StructuredAuthenticationConfigurationEgressSelector
beta feature (default on).  When enabled, each JWT authenticator
specified via the AuthenticationConfiguration.jwt array can
optionally specify either the controlplane or cluster egress
selector by setting the issuer.egressSelectorType field.  When
unset, the prior behavior of using no egress selector is retained.

Egress selection is valuable when the persona configuring the JWT
authenticator and the persona managing the control plane are
different individuals.  This change allows the latter to protect
control plane network services from unexpected connections.

Signed-off-by: Monis Khan <mok@microsoft.com>
2025-07-15 16:03:07 -04:00
Cici Huang
a3ecea296c manual change 2025-07-15 01:44:13 +00:00
Kubernetes Prow Robot
3430e34d88 Merge pull request #132656 from liggitt/selector-authz
KEP-4601: Graduate selector authorization to stable
2025-07-14 16:42:38 -07:00
Jordan Liggitt
a04e7cf5eb KEP-4601: Graduate selector authorization to stable 2025-07-14 16:19:52 -04:00
Kubernetes Prow Robot
12dc894f80 Merge pull request #127322 from vrutkovs/tracing-set-audit-id
tracing: set audit-id on incoming requests
2025-07-13 17:58:23 -07:00
ylink-lfs
e0f9914ef7 chore: replace int32Ptr usage with ptr.To 2025-07-13 08:12:55 +08:00
Jefftree
adb71d041d Forcefully expire lease in integration test to fix flake 2025-07-08 17:51:59 +00:00
PatrickLaabs
1802c55652 chore: depr. pointer pkg replacement for test integration 2025-07-06 22:02:04 +02:00