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
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
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
f693c45c4e
Merge pull request #136775 from atombrella/feature/activate_modernize_slicessort
...
Enable modernize/slicessort rule
2026-02-10 05:43:57 +05:30
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
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
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
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
ShaanveerS
977abfa047
fix(controller/volume): convert V().Error() to V().Info() for selinuxwarning
2026-01-06 08:35:26 +01:00
Kubernetes Prow Robot
7d0b8f979c
Merge pull request #135629 from jsafrane/selinux-fix-completed-pods
...
selinux: Fix the controller to ignore finished pods
2025-12-19 11:52:33 -08:00
Jan Safranek
80d0b0f8cc
Add unit test with CSIDriver.SELinuxMount=false
...
Add unit test with a volume plugin that does not support SELinux. That
simulates a CSi driver whose spec.SELinuxMount is empty or false.
This requires a little refactoring, each unit test now has a flag if it
runs with a volume plugin that supports SELinux.
2025-12-19 15:01:01 +01:00
carlory
f8e8e55f1d
locked the feature-gate VolumeAttributesClass to default (true) and switch storage version from v1beta1 to v1
...
Signed-off-by: carlory <baofa.fan@daocloud.io >
2025-12-18 15:59:33 +08:00
Jan Safranek
e701a37a1e
Use only enqueuePod to add pods to the controller queue
...
enqueuePod already creates the right key for a pod, it's better to reuse it
than copy the code around.
2025-12-12 11:19:13 +01:00
Jan Safranek
cfa65ceed2
Fix policy of Pods with unknown SELinux label
...
Reset SELinuxChangePolicy of Pods that have no SELinux label set to
Recursive. Kubelet cannot mount with `-o context=<label>`, if the label is
not known.
This fixes the e2e test error revealed by the previous commit - it changed the
e2e test to check for events when no events are expected and it found a
warning about a Pod with no label, but MountOption policy.
2025-12-12 11:17:54 +01:00
Jan Safranek
cbcf845810
Add new unit tests
2025-12-12 11:17:54 +01:00
Jan Safranek
7609325a9a
Rework unit tests to builder pattern
2025-12-12 11:17:54 +01:00
Jan Safranek
fa1847ac40
selinux: Do not report conflits with finished pods
...
When a Pod reaches its final state (Succeeded or Failed), its volumes are
getting unmounted and therefore their SELinux mount option will not
conflict with any other pod.
Let the SELinux controller monitor "pod updated" events to see the pod is
finished
2025-12-12 11:17:51 +01:00
Jan Safranek
6666bd52b8
refactoring: use a common function to enqueue Pod
...
addPod and deletePod have the same implementation, merge them into
enqueuePod
2025-12-08 12:36:56 +01:00
xigang
8f1ff1d8ce
Refactor PV controller to use rate-limiting queues and improve error handling
...
Signed-off-by: xigang <wangxigang2014@gmail.com >
2025-12-01 19:11:52 +08:00
Ondra Kupka
024382658b
controller/volume/vacprotection: Improve goroutine mgmt
...
Make sure all threads are terminated when Run returns.
2025-11-04 23:58:15 +01:00
Ondra Kupka
e08d03b1b5
controller/volume/selinuxwarning: Improve goroutine mgmt
...
Make sure all threads are terminated when Run returns.
2025-11-04 23:58:15 +01:00
Ondra Kupka
1e6ad423bf
controller/volume/pvprotection: Improve goroutine mgmt
...
Make sure all threads are terminated when Run returns.
2025-11-04 23:58:15 +01:00
Ondra Kupka
0caae6f704
controller/volume/pvcprotection: Improve goroutine mgmt
...
Make sure all threads are terminated when Run returns.
2025-11-04 23:58:15 +01:00
Ondra Kupka
ed74779a0f
controller/volume/persistentvolume: Improve goroutine mgmt
...
Make sure all threads are terminated when Run returns.
2025-11-04 23:58:15 +01:00
Ondra Kupka
8eab454e38
controller/volume/expand: Improve goroutine mgmt
...
Make sure all threads are terminated when Run returns.
2025-11-04 23:58:15 +01:00
Ondra Kupka
27774052ab
controller/volume/ephemeral: Improve goroutine mgmt
...
Make sure all threads are terminated when Run returns.
2025-11-04 23:58:15 +01:00
Ondra Kupka
12205df76d
controller/volume/attachdetach: Improve goroutine mgmt
...
Make sure all threads are terminated when Run returns.
2025-11-04 23:58:15 +01:00
Aditi Gupta
af231d2153
Replace WaitForNamedCacheSync with WaitForNamedCacheSyncWithContext in pkg/controller/
2025-09-16 14:51:34 -07:00
ChengHao Yang
eb603fa4f3
Pass the Logger to CreateTestClient for support contextual logging
...
Signed-off-by: ChengHao Yang <17496418+tico88612@users.noreply.github.com >
2025-09-11 08:39:49 +08:00
ChengHao Yang
ef96d9cbd2
Replace NewFake with NewFakeWithOptions in pkg/controller
...
CreateTestClient add the argument logger for support contextual logging
Signed-off-by: ChengHao Yang <17496418+tico88612@users.noreply.github.com >
2025-09-11 08:39:49 +08:00
Huan Yan
7aa6cabd63
fix typo for forceDetachTimeoutExpired
2025-09-07 16:37:34 +08:00
Jan Safranek
75d04e6c7b
Add a note about Conflicts return value
2025-08-26 15:04:21 +02:00
Jan Safranek
97edb4d5e4
Fix SELinux label comparison
...
The comparison of SELinux labels in KCM tolerates missing fields - the
operating system is going to default them from its defaults, but in KCM we
don't know what the defaults are.
But the OS won't default the last component, "level", which includes also
categories. Make sure that labels with a level set conflicts with level "",
that's what will conflict on the OS too.
2025-08-08 10:13:19 +02:00
Eddie
727a6e6db5
Reject pod when attachment limit is exceeded ( #132933 )
...
* Reject pod when attachment limit is exceeded
Signed-off-by: Eddie Torres <torredil@amazon.com >
* Record admission rejection
Signed-off-by: Eddie Torres <torredil@amazon.com >
* Fix pull-kubernetes-linter-hints
Signed-off-by: Eddie Torres <torredil@amazon.com >
* Fix AD Controller unit test failure
Signed-off-by: Eddie Torres <torredil@amazon.com >
* Consolidate error handling logic in WaitForAttachAndMount
Signed-off-by: Eddie Torres <torredil@amazon.com >
* Improve error context
Signed-off-by: Eddie Torres <torredil@amazon.com >
* Update admissionRejectionReasons to include VolumeAttachmentLimitExceededReason
Signed-off-by: Eddie Torres <torredil@amazon.com >
* Update status message
Signed-off-by: Eddie Torres <torredil@amazon.com >
* Add TestWaitForAttachAndMountVolumeAttachLimitExceededError unit test
Signed-off-by: Eddie Torres <torredil@amazon.com >
* Add e2e test
Signed-off-by: Eddie Torres <torredil@amazon.com >
* Fix pull-kubernetes-linter-hints
Signed-off-by: Eddie Torres <torredil@amazon.com >
---------
Signed-off-by: Eddie Torres <torredil@amazon.com >
2025-07-24 17:58:54 -07:00
carlory
94bf8fc8a9
Promoted API VolumeAttributesClass and VolumeAttributesClassList to storage.k8s.io/v1.
...
Promoted feature-gate `VolumeAttributesClass` to GA (on by default)
Signed-off-by: carlory <baofa.fan@daocloud.io >
2025-07-25 01:53:59 +08:00
Kubernetes Prow Robot
566d6acb70
Merge pull request #131759 from carlory/clean-volumehost
...
Remove unused GetHostIP method
2025-07-12 05:35:28 -07:00
PatrickLaabs
baf71997f5
chore: depr. pointer pkg replacement for pkg/controller
2025-07-07 13:22:36 +02:00
Kubernetes Prow Robot
f407bd6d24
Merge pull request #132254 from carlory/cleanup-MountContainers
...
Cleanup after Alpha feature MountContainers was removed
2025-06-18 17:24:50 -07:00
Kubernetes Prow Robot
17e20ec9d4
Merge pull request #131281 from googs1025/add_miss_shutdown
...
chore: add miss Shutdown call for selinux_warning controller
2025-06-17 06:18:59 -07:00
Davanum Srinivas
03afe6471b
Add a replacement for cmp.Diff using json+go-difflib
...
Co-authored-by: Jordan Liggitt <jordan@liggitt.net >
Signed-off-by: Davanum Srinivas <davanum@gmail.com >
2025-06-16 17:10:42 -04:00
carlory
85bc3cb096
Remove GetExec method from VolumeHost
...
Signed-off-by: carlory <baofa.fan@daocloud.io >
2025-06-13 10:58:37 +08:00
carlory
f0dde38234
Remove pluginName param from GetMounter and GetExec
...
Signed-off-by: carlory <baofa.fan@daocloud.io >
2025-06-12 17:29:17 +08:00
carlory
fe1b1fff7c
Remove unused GetHostIP method
2025-05-14 14:50:59 +08:00
Kubernetes Prow Robot
c59203e051
Merge pull request #121967 from torredil/update-logging
...
Update log verbosity for node health and taint checks
2025-04-24 06:22:34 -07:00
googs1025
e8dbfc0b6f
add miss Shutdown call for selinux_warning controller
2025-04-14 09:07:51 +08:00
Eddie Torres
c766a52356
Implement KEP 4876 Mutable CSINode ( #130007 )
...
* Implement KEP-4876 Mutable CSINode Allocatable Count
Signed-off-by: torredil <torredil@amazon.com >
* Update TestGetNodeAllocatableUpdatePeriod
Signed-off-by: torredil <torredil@amazon.com >
* Implement CSINodeUpdater
Signed-off-by: torredil <torredil@amazon.com >
* Use sync.Once in csiNodeUpdater
Signed-off-by: torredil <torredil@amazon.com >
* ImVerify driver is installed before running periodic updates
Signed-off-by: torredil <torredil@amazon.com >
* Update NodeAllocatableUpdatePeriodSeconds type comment
Signed-off-by: torredil <torredil@amazon.com >
* Leverage apivalidation.ValidateImmutableField in ValidateCSINodeUpdate
Signed-off-by: torredil <torredil@amazon.com >
* Update strategy functions
Signed-off-by: torredil <torredil@amazon.com >
* Run hack/update-openapi-spec.sh
Signed-off-by: torredil <torredil@amazon.com >
* Update VolumeError.ErrorCode field
Signed-off-by: torredil <torredil@amazon.com >
* CSINodeUpdater improvements
Signed-off-by: torredil <torredil@amazon.com >
* Iron out concurrency in syncDriverUpdater
Signed-off-by: torredil <torredil@amazon.com >
* Run hack/update-openapi-spec.sh
Signed-off-by: torredil <torredil@amazon.com >
* Revise logging
Signed-off-by: torredil <torredil@amazon.com >
* Revise log in VerifyExhaustedResource
Signed-off-by: torredil <torredil@amazon.com >
* Update API validation
Signed-off-by: torredil <torredil@amazon.com >
* Add more code coverage
Signed-off-by: torredil <torredil@amazon.com >
* Fix pull-kubernetes-linter-hints
Signed-off-by: torredil <torredil@amazon.com >
* Update API types documentation
Signed-off-by: torredil <torredil@amazon.com >
* Update strategy and validation for new errorCode field
Signed-off-by: torredil <torredil@amazon.com >
* Update validation tests after strategy changes
Signed-off-by: torredil <torredil@amazon.com >
* Update VA status strategy
Signed-off-by: torredil <torredil@amazon.com >
---------
Signed-off-by: torredil <torredil@amazon.com >
2025-03-18 12:45:49 -07:00
Kubernetes Prow Robot
df030f3851
Merge pull request #130472 from jsafrane/selinux-controller-ignore-recursive
...
selinux: Ignore pods with Recursive policy
2025-03-03 14:29:56 -08:00