Commit graph

7147 commits

Author SHA1 Message Date
Michael Aspinwall
f18f0df7fe Add the ability for the replicaset controller to read its own writes 2026-02-25 17:15:53 +00:00
Kubernetes Prow Robot
c6d1649721
Merge pull request #137226 from tchap/selinuxwarning-reverse-index
controller/selinuxwarning/cache: Add reverse index to speed up DeletePod
2026-02-25 21:16:34 +05:30
Kubernetes Prow Robot
9f65538a35
Merge pull request #137224 from tchap/conflicts-parsed
controller/selinuxwarning: Pre-parse SELinux label
2026-02-25 16:27:50 +05:30
Ondra Kupka
911a61d050 controller/selinuxwarning/cache: Add reverse index
Added podToVolumes reverse index to optimize DeletePod.
Currently we simply iterate through all the volumes and remove the pod
being deleted from there. This is inefficient and takes longer the
longer the volume list becomes.

Keeping a map pod -> volumes makes removing a pod fast. We can just jump
to the relevant volumes directly and remove the pod from there.
2026-02-25 11:38:50 +01:00
Michael Aspinwall
61d0dd30fb Add the ability for the job controller to read its own writes 2026-02-25 01:19:48 +00:00
Ondra Kupka
a34456319d controller/selinuxwarning: Pre-parse SELinux label
When calling ControllerSELinuxTranslator.Conflicts(), the SELinux label
is repeatedly split into []string to detect conflicts. This causes a huge
number of allocations when there are many comparisons.

This is now made more efficient by pre-parsing the SELinux label and
storing it in podInfo as [4]string for fast comparison when needed.
2026-02-24 18:08:36 +01:00
Kubernetes Prow Robot
8812ec563c
Merge pull request #134353 from skitt/drop-string-slice
Deprecate obsolete slice utility functions
2026-02-20 00:57:41 +05:30
Michael Aspinwall
65eb0e94c2 Daemonset Consistency
Add the ability for the daemonset controller to figure out whether it has read its own writes for pods and daemonset objects.
2026-02-19 16:53:19 +00:00
Stephen Kitt
d42d1e3d1f
Deprecate obsolete slice utility functions
... and update users to use standard library functions.

Signed-off-by: Stephen Kitt <skitt@redhat.com>
2026-02-16 10:04:33 +01:00
Kubernetes Prow Robot
d7f6f91dae
Merge pull request #135820 from pohly/dra-sharing-claim-sequentially-test
DRA: sharing claim sequentially test
2026-02-13 01:50:09 +05:30
Kubernetes Prow Robot
98dd4d8e60
Merge pull request #136812 from rpb-ant/rpb/sts-not-found
Add 404 handling for the statefulset controller pod deletion codepath
2026-02-13 00:18:00 +05:30
Kubernetes Prow Robot
5b63a8c68e
Merge pull request #136921 from dims/dump-from-utils
Move dump package from apimachinery to k8s.io/utils
2026-02-12 22:28:10 +05:30
Ryan Brewster
11c6f8c7c8
Clean up redundant IsNotFound checks in stateful_set_control
🏠 Remote-Dev: homespace
2026-02-12 14:35:10 +00:00
Davanum Srinivas
550cc8645b
Move dump package from apimachinery to k8s.io/utils
Replace all imports of k8s.io/apimachinery/pkg/util/dump with
k8s.io/utils/dump across the repo. The apimachinery dump package
now contains deprecated wrapper functions that delegate to
k8s.io/utils/dump for backwards compatibility.

Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2026-02-12 07:34:19 -05:00
Patrick Ohly
bff684d951 DRA ResourceClaim controller: update logging
This provides a bit more information when the controller touches a
ResourceClaim.
2026-02-12 12:33:22 +01:00
Kubernetes Prow Robot
1956f4e90d
Merge pull request #136701 from Jefftree/fix-tombstone
Add tombstone handling for serviceaccount and attachdetach controllers
2026-02-12 08:24:09 +05:30
Jefftree
334fa1cef8 Add tombstone handling for serviceaccount and attachdetach controllers 2026-02-11 16:06:29 -05:00
Kubernetes Prow Robot
fce5bc2854
Merge pull request #134316 from xigang/node_controller_pod
node_lifecycle_controller: fix processing deleted pod events, which are currently missed
2026-02-11 09:26:00 +05:30
Kubernetes Prow Robot
f693c45c4e
Merge pull request #136775 from atombrella/feature/activate_modernize_slicessort
Enable modernize/slicessort rule
2026-02-10 05:43:57 +05:30
Ryan Brewster
efe3667b6b
Add 404 handling for the statefulset controller pod deletion codepath
The daemonset controller already has handling for NotFound errors.

Right now if the statefulset controller is attempting to scale down a
statefulset and its informer cache is stale, it can get hard-blocked on a
missing pod.

This issue will eventually self-resolve once the informer cache "catches
up", but in the process of exploring this issue I realized that
404s during pod deletions don't strictly need to abort the entire sync;
we can continue.

This is especially impactful for large statefulsets with
podManagementStrategy: Parallel, where a single "phantom" pod (actually
missing, but still present in the informer cache) can block thousands of
other pods from being cleaned up.
2026-02-06 22:45:57 +00:00
Mads Jensen
95616cecda Use slices.Sort instead of sort.Slice.
There were only two instances of this in the entire code-base. Hence,
I have enabled the modernize rule/linter in golangci-lint.
2026-02-06 22:46:08 +01:00
carlory
4bc5464553
Remove feature gate HonorPVReclaimPolicy
Signed-off-by: carlory <baofa.fan@daocloud.io>
2026-02-06 13:31:16 +08:00
Kubernetes Prow Robot
eba75de156
Merge pull request #136341 from Karthik-K-N/remove-deprecated-methods
Remove usage of deprecated functions from ktesting package
2026-02-02 19:28:31 +05:30
xigang
0fe227edfa nodelifecycle: fix processing deleted pod events, which are currently missed
Signed-off-by: xigang <wangxigang2014@gmail.com>
2026-01-31 10:49:15 +08:00
Jefftree
063caad801 Fix unit tests 2026-01-29 17:55:08 -05:00
Jefftree
1e67dbfefb Add ctx to endpointslicemirroring controller 2026-01-29 17:07:14 -05:00
Kubernetes Prow Robot
250e18904e
Merge pull request #136050 from ShaanveerS/fix-selinuxwarning-verbosity
fix(controller/volume): convert V().Error() to V().Info()
2026-01-29 21:11:58 +05:30
Karthik Bhat
e44e06c53f Remove usage of deprecated functions from ktesting package 2026-01-29 14:51:59 +05:30
Kubernetes Prow Robot
8ccb55ffef
Merge pull request #136040 from petern48/error-level-logs
fix(controller/resourcequota, controller/garbagecollector): Change V().Error() to V().Info()
2026-01-28 03:27:48 +05:30
MohammedSaalif
4925c6bea4
DRA: support non-pod references in ReservedFor (#136450)
* DRA: support non-pod references in ReservedFor

Signed-off-by: MohammedSaalif <salifud2004@gmail.com>

* Expand reservation validation comment in syncClaim as suggested by mortent

* Address feedback: rename valid to remaining and remove obsolete TODO

---------

Signed-off-by: MohammedSaalif <salifud2004@gmail.com>
2026-01-25 00:28:13 +05:30
Karthik Bhat
85aceb54fd Remove fmt.Println() added for debug 2026-01-22 18:34:15 +05:30
carlory
be0e68ba84 remove featureGate from PluginManager
Signed-off-by: carlory <baofa.fan@daocloud.io>
2026-01-19 11:35:30 +08:00
carlory
6d1afce678 remove GetHostName func from the VolumeHost interface
Signed-off-by: carlory <baofa.fan@daocloud.io>
2026-01-19 11:35:30 +08:00
Kubernetes Prow Robot
8392659d3c
Merge pull request #136143 from pohly/client-go-fake-list-and-watch-fix
client-go testing: fix List+Watch support
2026-01-15 21:35:36 +05:30
Patrick Ohly
6bfa727bee client-go testing: fix List+Watch support
5644850607 added support for List+Watch to a fake client-go instance.
However, that support was not quite working yet as seen when analyzing a test
flake:

- List returned early when there were no objects, without adding the
  ResourceVersion. The ResourceVersion should have been "0" instead.
- When encountering "" as ResourceVersion, Watch didn't deliver
  any objects. That was meant to preserve compatibility with clients
  which don't expect objects from a Watch, but the right semantic of
  "" is "Start at most recent", which includes delivering existing
  objects.

Tests which meddle with the List implementation via a reactor (like
clustertrustbundlepublisher) have to be aware that Watch now may
return objects when given an empty ResourceVersion.
2026-01-15 16:08:23 +01:00
Maciej Szulik
5f21c6c709
Eliminate duplicate scale methods deployment controller in favor of a parameter
This initially was attempted in 5f083e3b9f
but it caused e2e failing heavily (see
https://github.com/kubernetes/kubernetes/issues/135222 for more details).
The changes proposed in e6641cd290
clarified the naming of the two existing scale methods but they still
leave both of them as is.

This change goes a step further by combining both into a single method
with a parameter `forceUpdate` which is responsible for driving the mode
of execution between lazy update and a forced update.

Signed-off-by: Maciej Szulik <soltysh@gmail.com>
2026-01-15 13:50:39 +01:00
Jefftree
2522628780 Add index for controller revision 2026-01-13 19:46:34 +00:00
Kubernetes Prow Robot
d68d48073f
Merge pull request #136112 from danwinship/network-1.36-cleanup
Drop TopologyAwareHints and ServiceTraficDistribution feature gates
2026-01-13 07:43:36 +05:30
Kubernetes Prow Robot
f2143d70db
Merge pull request #135597 from alvaroaleman/plumb-context
Service account controller: Wire through context
2026-01-13 02:15:00 +05:30
Karthik Bhat
8962f08815 Remove deprecated test methods 2026-01-12 16:15:04 +05:30
Dan Winship
f278b47ecd Drop TopologyAwareHints and ServiceTraficDistribution feature gates 2026-01-09 12:42:34 -05:00
Kubernetes Prow Robot
d8556481df
Merge pull request #135551 from Jefftree/deployment
Add pod indexer to deployment controller
2026-01-09 01:19:49 +05:30
Jefftree
5e753a131d Update benchmark for deployment 2026-01-08 15:10:32 +00: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
Jefftree
1250c7d56e Add pod indexer to deployment controller 2026-01-08 13:55:48 +00:00
Kubernetes Prow Robot
c9994c5f82
Merge pull request #135234 from atiratree/renameScaleReplicaSetAndRecordEvent
rename scaleReplicaSetAndRecordEvent to scaleReplicaSetWithLazyAnnotationUpdate
2026-01-08 18:39:40 +05:30
Kubernetes Prow Robot
5fbb132d69
Merge pull request #135625 from atiratree/quotamonitor-race
mark QuotaMonitor as not running and invalidate monitors list
2026-01-08 17:19:38 +05:30
Kubernetes Prow Robot
7e7267a6df
Merge pull request #136046 from Tanner-Gladson/issue-136027-error-verbosity
fix(controller/storageversionmigrator) Reduce log level
2026-01-08 04:03:50 +05:30
Kubernetes Prow Robot
df9a0bda18
Merge pull request #133797 from tico88612/cleanup/new-fake-with-options
Replace apimachinery/pkg/watch.NewFake with NewFakeWithOptions in pkg/controller
2026-01-08 03:01:38 +05:30
Kubernetes Prow Robot
18663b347e
Merge pull request #135983 from Goend/master
Fix the issue of slow creation of ResourceClaim in specific scenarios
2026-01-07 20:05:46 +05:30