Commit graph

1546 commits

Author SHA1 Message Date
dom4ha
88948acc38 Remove v1alpha2 API definitions
Update client-go lister and informer imports to v1alpha3
2026-05-22 12:50:19 +00:00
Kubernetes Prow Robot
1841c15892
Merge pull request #138002 from Jefftree/kcm-cleanup
Remove no-op cloud provider controller registrations from KCM
2026-04-23 04:16:21 +05:30
Mujib Ahasan
b9b0ff440d remove accidently commited file
Signed-off-by: Mujib Ahasan <ahasanmujib8@gmail.com>
2026-04-04 12:53:30 +05:30
Jefftree
ed9bc4d2a7 Fix test error 2026-03-24 16:47:38 +00:00
Jefftree
48f99c86de Remove dead ServiceController options from KCM 2026-03-24 11:44:50 -04:00
Jefftree
0b37ff9338 Remove no-op cloud provider controller registrations from KCM 2026-03-24 11:34:19 -04:00
Jon Huhn
d80f384b70 Workload API: PodGroup ResourceClaims (KEP-5729) 2026-03-22 14:52:45 -05:00
Nour
58cbde2aff
Pass individual informers, move DRA controllers to resource.go, simplify retry logic and metric tests
Signed-off-by: Nour <nurmn3m@gmail.com>
2026-03-19 16:50:03 +02:00
Nour
4dffbf5b2a
Add tests for ResourcePoolStatusRequest
Add unit tests for handwritten and declarative validation, controller
logic, metrics, table printer output, controller-manager registration,
etcd storage round-trip, and an integration test for the full RPSR
lifecycle. Also add an e2e test exercising the DRA test driver with
RPSR and the example manifest.
2026-03-19 16:50:03 +02:00
Nour
30fe79df21
Add ResourcePoolStatusRequest controller, registry, and RBAC
Implement the RPSR controller that watches ResourcePoolStatusRequest
objects and aggregates pool status from DRA drivers. Add the API server
registry (strategy, storage), handwritten validation, RBAC bootstrap
policy for the controller, kube-controller-manager wiring, table
printer columns, and storage factory registration.
2026-03-19 16:50:02 +02:00
helayoty
68e30095de
Implement Workload and PodGroup integration with Job controller
Signed-off-by: helayoty <heelayot@microsoft.com>
2026-03-18 20:32:37 +00:00
helayoty
0ef8d78d1d
Add new protection controller for PodGroup
Signed-off-by: helayoty <heelayot@microsoft.com>
2026-03-18 15:27:17 +00:00
Kubernetes Prow Robot
fd3bb6d21f
Merge pull request #137779 from richabanker/nh-kcm
Enable native histograms gated by feature flag in KCM
2026-03-18 05:20:34 +05:30
Ondra Kupka
98aa74d376 kcm: Link the leader election release on exit feature gate
This is the last step in the process, simply linking ReleaseOnCancel to
ControllerManagerReleaseLeaderElectionLockOnExit feature gate.

The original logic when the leader election release on exit feature gate
is disabled is to not catch signals and exit immediately when the LE
lock is lost. This is being put back into place so that the new behavior
can be tested without affecting the former approach at all.
2026-03-17 11:39:00 +01:00
Richa Banker
cdf6cdde08 Enable native histograms gated by feature flag in KCM 2026-03-16 11:45:51 -07:00
Kubernetes Prow Robot
d73c1818e9
Merge pull request #132620 from tchap/kcm-clean-termination
kube-controller-manager: Refactor leader election management to prepare for releasing lock on exit
2026-03-13 03:49:38 +05:30
Kubernetes Prow Robot
4e2bbc78bf
Merge pull request #137170 from pohly/dra-device-taints-beta
DRA device taints: graduate to beta
2026-03-13 00:13:38 +05:30
Patrick Ohly
566dc7f3f3 DRA device taints: graduate to beta
The fields become beta, enabled by default. DeviceTaintRule gets
added to the v1beta2 API, but support for it must remain off by default
because that API group is also off by default.

The v1beta1 API is left unchanged. No-one should be using it
anymore (deprecated in 1.33, could be removed now if it wasn't for
reading old objects and version emulation).

To achieve consistent validation, declarative validation must be enabled also
for v1alpha3 (was already enabled for other versions). Otherwise,
TestVersionedValidationByFuzzing fails:

    --- FAIL: TestVersionedValidationByFuzzing (0.09s)
        --- FAIL: TestVersionedValidationByFuzzing/resource.k8s.io/v1beta2,_Kind=DeviceTaintRule (0.00s)
            validation_test.go:109: different error count (0 vs. 1)
                resource.k8s.io/v1alpha3: <no errors>
                resource.k8s.io/v1beta2: "spec.taint.effect: Unsupported value: \"幤HxÒQP¹¬永唂ȳ垞ş]嘨鶊\": supported values: \"NoExecute\", \"NoSchedule\", \"None\""
            ...
2026-03-12 18:26:02 +01:00
Ondra Kupka
8ddefcf4b3 kcm: Prepare leader election for release on exit
Refactor KCM so that it's ready to turn on releasing leader election
exit easily.
2026-03-12 16:27:35 +01:00
Kubernetes Prow Robot
c232632ac5
Merge pull request #137213 from Jefftree/leak-fix
Fix FSWatcher goroutine leak by adding ctx to Run()
2026-03-12 06:09:42 +05:30
Kubernetes Prow Robot
b16838370b
Merge pull request #136044 from SergeyKanzhelev/versioninconfigz
added API Version and Kind in /configz serailized objects
2026-03-11 15:09:36 +05:30
Michael Aspinwall
d274e05cc9 Remove CRD stored versions from status upon SVM migration 2026-03-11 00:50:27 +00:00
Sergey Kanzhelev
4396474b0b integration tests for configz endpoints 2026-03-11 00:25:32 +00:00
Sergey Kanzhelev
1d4776ce85 Require configz to be external versioned runtime.Object 2026-03-06 18:41:11 +00:00
Jefftree
fc53227b90 Fix FSWatcher goroutine leak by adding ctx to Run()
FSWatcher.Run() spawned a goroutine with no exit mechanism, causing a
goroutine leak. Add a ctx context.Context parameter to Run() so the
goroutine can exit cleanly when the context is canceled, and
defer-close the underlying fsnotify watcher on exit.

For kube-proxy, the existing ctx from runLoop() is passed directly.
For the flexvolume prober, ctx is stored in flexVolumeProber at
construction time via GetDynamicPluginProber(), representing the
component lifetime (kubelet/controller-manager), which is the
appropriate scope for this long-running watcher.
2026-02-23 21:30:34 -05:00
Richa Banker
7ffcacbf9e Wire informer name through kube-controller-manager shared informers 2026-02-05 11:45:47 -08:00
carlory
be0e68ba84 remove featureGate from PluginManager
Signed-off-by: carlory <baofa.fan@daocloud.io>
2026-01-19 11:35:30 +08:00
carlory
c8fc0a1b98 remove CSIMigrationPortworx and InTreePluginPortworxUnregister feature gates
Signed-off-by: carlory <baofa.fan@daocloud.io>
2026-01-19 11:35:29 +08:00
Lukasz Szaszkiewicz
4cccfe28e6 kcm: remove WatchListClient feature gate override
WatchListClient is enabled by default since 1.35, so the
kcm specific override in flags is no longer needed.
2026-01-09 10:23:25 +01:00
Anson Qian
a816a7b1d8
Make ConcurrentResourceClaimSyncs configurable (#134701)
* DRA resource claim controller: configurable number of workers

It might never be necessary to change the default, but it is hard to be sure.
It's better to have the option, just in case.

* generate files

* resourceclaimcontroller: normalize validation error message

* Update cmd/kube-controller-manager/app/options/resourceclaimcontroller.go

Co-authored-by: Jordan Liggitt <jordan@liggitt.net>

---------

Co-authored-by: Patrick Ohly <patrick.ohly@intel.com>
Co-authored-by: Jordan Liggitt <jordan@liggitt.net>
2026-01-08 19:31:39 +05:30
yliao
3e34de29c4 fixed the loophole that allows user to get around resource quota set by system admin 2025-12-18 00:56:20 +00:00
yliao
870062df4f adjusts DRA extended resource quota to include devices usages from regular resource claims 2025-11-05 23:24:24 +00:00
Kubernetes Prow Robot
5fd9cefd95
Merge pull request #134995 from yongruilin/flagz-kk-structure
[KEP-4828] Flagz versioned structured response
2025-11-04 19:02:04 -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
f4a453389d DRA device taint eviction: configurable number of workers
It might never be necessary to change the default, but it is hard to be sure.
It's better to have the option, just in case.
2025-11-04 21:57:24 +01:00
yongruilin
2422bc0bb8 feat: Implement structured /flagz endpoint 2025-11-04 19:45:30 +00:00
tinatingyu
59e075e8d3 Promote PodCertificateRequests to v1beta1 2025-11-02 05:33:44 +00:00
Kubernetes Prow Robot
9efb7ee538
Merge pull request #134313 from richabanker/statusz-structured
[KEP:4827] Structured statusz
2025-10-30 13:16:10 -07:00
Siyuan Zhang
67143028e7 Add --min-compatibility flag.
Signed-off-by: Siyuan Zhang <sizhang@google.com>
2025-10-30 13:36:38 -05:00
Richa Banker
c1a95eb7e2 Structured statusz 2025-10-30 10:39:52 -07:00
Kubernetes Prow Robot
3ec2d82da5
Merge pull request #134784 from michaelasp/svm_beta2
SVM: bump the API to beta, remove unused fields
2025-10-29 13:56:02 -07:00
Michael Aspinwall
3b72759d1b Update SVM to Beta
Co-authored-by: Stanislav Láznička <stlaz.devel@proton.me>
2025-10-29 19:36:11 +00:00
Abhijit Hoskeri
a35785c033 Drop loopback clients if unused
kube-controller-manager and kube-scheduler do not use the
configured loopback clients. Drop them.

Fix up scheduler test server to not depend on
the loopback client.
2025-10-26 14:47:57 -07:00
Kubernetes Prow Robot
57c243f33c
Merge pull request #134450 from mayank-agrwl/controller-contextual-logs
Replace HandleCrash and HandleError calls to use context-aware alternatives
2025-10-23 00:49:02 -07:00
Siyuan Zhang
70ac573619 adopt consistent way to set feature gate based on emulation version for kcm and scheduler test server.
Signed-off-by: Siyuan Zhang <sizhang@google.com>
2025-10-22 13:20:30 -05:00
Mayank Agrawal
5e216ae34d Replace HandleCrash and HandleError calls to use context-aware alternatives 2025-10-07 22:40:10 -07:00
Tim Allclair
4986abe0b8 Automated refactoring to use SetFeatureGatesDuringTest 2025-10-01 21:10:53 -07:00
Tim Allclair
2c78bc981c Introduce API to codify and validate feature gate dependencies 2025-09-25 16:45:43 -07:00
Aditi Gupta
f58d1e101f refactor(controller): Use WithContext variants in cloud node controllers
This change refactors the cloud-specific versions of the node lifecycle
and node IPAM controllers to use a context.Context for cancellation and
contextual logging, replacing the legacy stopCh pattern.

This is a follow-up to PR #133985, where these controllers were
separated out due to their use in the legacy Cloud Controller Manager
(CCM).

It is a known issue that the CCM's startup logic does not pass the
controller name via the context. This change proceeds with the
refactoring to unify the cancellation logic across controllers, while
acknowledging that contextual logs will be less detailed when these
controllers are run in the CCM.

Signed-off-by: Aditi Gupta <aditigpta@google.com>
2025-09-17 00:17:38 -07:00
Kubernetes Prow Robot
aa35105213
Merge pull request #132703 from tchap/kcm-sync-api
kcm/app: Add proper goroutine management
2025-09-15 01:58:11 -07:00