Commit Graph

3893 Commits

Author SHA1 Message Date
Kubernetes Prow Robot
64621d17a6 Merge pull request #129832 from pohly/dra-seamless-upgrade
DRA: seamless driver upgrades
2025-03-18 13:51:51 -07: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
Patrick Ohly
b471c2c11f DRA kubelet: support rolling upgrades
The key difference is that the kubelet must remember all plugin instances
because it could always happen that the new instance dies and leaves only the
old one running.

The endpoints of each instance must be different. Registering a plugin with the
same endpoint as some other instance is not supported and triggers an error,
which should get reported as "not registered" to the plugin. This should only
happen when the kubelet missed some unregistration event and re-registers the
same instance again. The recovery in this case is for the plugin to shut down,
remove its socket, which should get observed by kubelet, and then try again
after a restart.
2025-03-18 12:32:35 +01:00
Vinayak Goyal
282e1490d4 KEP-5040: Disable git_repo volume driver. 2025-03-14 19:29:03 +00:00
Kubernetes Prow Robot
afdc62eff5 Merge pull request #129755 from niranjandarshann/conmap
Concurrentmap Iteration
2025-03-14 07:45:47 -07:00
Kubernetes Prow Robot
78208023e2 Merge pull request #128952 from my-git9/volume-deadcode
pkg/volume: remove unused function
2025-03-14 06:37:46 -07:00
Kubernetes Prow Robot
2491c0b150 Merge pull request #129218 from novahe/master
Add lock for csiNode update
2025-03-14 05:29:46 -07:00
Kubernetes Prow Robot
6b8341fc2e Merge pull request #130544 from jsafrane/selinux-beta
selinux: Promote SELinuxChangePolicy and SELinuxMount to beta
2025-03-12 11:29:47 -07:00
Stanislav Láznička
e0f536bf1f use the ClusterTrustBundles beta API 2025-03-11 18:07:24 +01:00
Mark Rossetti
20230f2251 Fixing unit tests in k8s.io/kubernetes/pkg/volume/util/subpath on Windows 2025-03-06 13:05:48 -08:00
Hemant Kumar
5a7697dfe0 Fix unit tests for volume ownership 2025-03-06 10:37:56 -05:00
Jan Safranek
96bae53a37 Promote SELinuxChangePolicy and SELinuxMount to beta
SELinuxMount stays off by default, because it changes the default
kubelet behavior. SELinuxChangePolicy is on by default and notifies users
on Pods that could get broken by SELinuxMount feature gate.
2025-03-04 11:03:54 +01:00
Hemant Kumar
94f3b552bf Fix linter warnings 2025-02-26 21:45:00 -05:00
Hemant Kumar
b0dc96e71e Add unit tests for progress tracking and remove fullpath from reporting 2025-02-26 18:13:07 -05:00
Hemant Kumar
f7c1799297 Handle returned error as placeholder variables for now 2025-02-24 16:26:48 -05:00
Hemant Kumar
fbce6bd610 Fix typecheck errors 2025-02-24 16:16:05 -05:00
Hemant Kumar
b51cbb1d17 Change plugin interfaces to use progress monitoring 2025-02-24 15:55:37 -05:00
Hemant Kumar
32752fe395 Add recommendation for using OnRootMismatch 2025-02-24 15:55:37 -05:00
Hemant Kumar
49dabe56d0 Monitor progress tracking for permission change 2025-02-24 15:55:37 -05:00
mansikulkarni96
237aadab89 [hostutil_windows] Remove unix workaround 2025-02-21 18:02:28 -05:00
Kubernetes Prow Robot
b84cb65f93 Merge pull request #129370 from andyzhangx/adopt-go1.23-behavior-change
fix: adopt go1.23 behavior change in mount point parsing on Windows#2
2025-02-21 12:50:26 -08:00
andyzhangx
bb49a05fb5 fix: adopt go1.23 behavior change in mount point parsing on Windows
fix comments
2025-02-18 07:17:51 +00:00
novahe
a70b6b9105 Add lock for csiNode update
Signed-off-by: novahe <heqianfly@gmail.com>
2025-02-17 21:48:54 +08:00
niranjandarshann
7f766762d9 Updated Concurrentmap iter 2025-01-24 21:43:18 +05:30
niranjandarshann
84b8f181e4 Concurrentmap Iteration 2025-01-22 16:10:12 +05:30
Kubernetes Prow Robot
e69a5ed9b3 Merge pull request #129200 from carlory/remove-GetDeviceNameFromMount
Remove GetDeviceNameFromMount from HostUtils
2025-01-20 10:00:35 -08:00
Kubernetes Prow Robot
3305fcccf7 Merge pull request #126777 from carlory/fix-image-plugin
Fix GetVolumeName for image volumeplugin
2025-01-20 08:46:36 -08:00
carlory
d3974065c8 Remove GetDeviceNameFromMount from HostUtils
Signed-off-by: carlory <baofa.fan@daocloud.io>
2025-01-18 21:23:54 +08:00
Kubernetes Prow Robot
9e0353b81e Merge pull request #122016 from carlory/ref-pr-80043
removed the dependency on `k8s.io/util/nsenter`
2025-01-17 11:06:35 -08:00
Kubernetes Prow Robot
2be1833a47 Merge pull request #128997 from srivastav-abhishek/fix-search-disk-test
Replaced util.NewIOHandler() with fakeIOHandler to make UT pass on different host envs
2025-01-17 05:44:35 -08:00
Ankit Gohil
4aeedcde3b Fix CSI migration UTs 2025-01-16 06:13:49 +00:00
Abhishek Kr Srivastav
41f805b476 Added check for multipath device mapper
Addressed review comments
2025-01-08 19:44:11 +05:30
carlory
977c4e9138 remove nsenter package 2025-01-03 12:09:29 +08:00
Kubernetes Prow Robot
e8615e2712 Merge pull request #129054 from pohly/remove-import-name
remove import doc comments
2024-12-12 09:58:35 +01:00
Kubernetes Prow Robot
29273b23bc Merge pull request #129027 from Phaow/dev
Fix: typos for volume package
2024-12-12 05:28:59 +00:00
Kubernetes Prow Robot
5948c7b5a9 Merge pull request #128086 from RomanBednar/fix-wwn-fc-matching
prevent unnecessary resolving of iscsi/fc devices to dm
2024-12-12 02:57:13 +00:00
Patrick Ohly
8a908e0c0b remove import doc comments
The "// import <path>" comment has been superseded by Go modules.
We don't have to remove them, but doing so has some advantages:

- They are used inconsistently, which is confusing.
- We can then also remove the (currently broken) hack/update-vanity-imports.sh.
- Last but not least, it would be a first step towards avoiding the k8s.io domain.

This commit was generated with
   sed -i -e 's;^package \(.*\) // import.*;package \1;' $(git grep -l '^package.*// import' | grep -v 'vendor/')

Everything was included, except for
   package labels // import k8s.io/kubernetes/pkg/util/labels
because that package is marked as "read-only".
2024-12-02 16:59:34 +01:00
Penghao
9e99be7c2b Fix: typos for volume package 2024-11-29 17:11:00 +08:00
xin.li
bf1280014b pkg/volume: remove unused function
Signed-off-by: xin.li <xin.li@daocloud.io>
2024-11-26 13:46:53 +08:00
Kubernetes Prow Robot
c93ba4e96f Merge pull request #124817 from carlory/cleanup-VolumePluginMgr
remove loggedDeprecationWarnings from VolumePluginMgr
2024-11-07 16:10:28 +00:00
Kubernetes Prow Robot
e30492f77a Merge pull request #128495 from olyazavr/refresh-probed-plugins
refresh probed plugins on init to avoid probe race/erroneous unmounts
2024-11-07 14:57:37 +00:00
Kubernetes Prow Robot
7667a68b72 Merge pull request #128383 from carlory/cleanup-codes
remove csi translator from volume operation generator
2024-11-07 13:47:46 +00:00
Kubernetes Prow Robot
f3498df864 Merge pull request #128522 from huww98/multi-volume-part-0
Cleanups about kubelet/volumemanager
2024-11-07 03:53:28 +00:00
Jan Safranek
8875f4daf0 Describe what the input list of SELinux options is 2024-11-06 11:16:06 +01:00
Jan Safranek
aa8872d7a3 Add SELinux warning controller 2024-11-06 11:16:02 +01:00
Jan Safranek
0d71dc677e Refactor CreateVolumeSpec
Rename old CreateVolumeSpec to CreateVolumeSpecWithNodeMigration that
extracts volume.Spec with node specific CSI migration.

Add CreateVolumeSpec that does the same, only without evaluating node CSI
migration.
2024-11-06 11:15:31 +01:00
huweiwen
f9a9b6f660 rename Gid => GID
according to stylecheck
2024-11-06 11:11:13 +08:00
Kubernetes Prow Robot
b5e6456795 Merge pull request #126806 from carlory/fix-image-volume-mount
Kubelet should honour the VolumeAttributes which are reported by the volume plugin
2024-11-05 23:21:35 +00:00
Kubernetes Prow Robot
08391b3d27 Merge pull request #123549 from carlory/kep-3751-finalizer
A new controller adds/removes finalizer to VAC for protection
2024-11-05 21:45:30 +00:00
carlory
b6c9c2d6fa 1. When the kubelet constructs the cri mounts for the container which references an image volume source type, It passes the missing mount attributes to the CRI implementation, including readOnly, propagation, and recursiveReadOnly. When the readOnly field of the containerMount is explicitly set to false, the kubelet will take the readOnlyas true to the CRI implementation because the image volume plugin requires the mount to be read-only.
2. Fix a bug where the pod is unexpectedly running when the `image` volume source type is used and mounted to `/etc/hosts` in the container.
2024-11-05 19:47:12 +08:00