Commit Graph

725 Commits

Author SHA1 Message Date
Jan Safranek
a95842095e Retry reading /proc/mounts indifinetly in FC and iSCSI volume reconstruction
iSCSI and FC volume plugins do not implement real 3rd party attach/detach.
If reconstruction fails with an error on a FC or iSCSI volume, it will not
be unmounted from the volume global dir and at the same time it will be
marked as unused, to be available to be mounted on another node.

The volume can then be mounted on several nodes, resulting in volume
corruption.

The other block based volume plugins implement attach/detach that either
makes the volume stuck (can't be detached) or will be force-detached from a
node before attaching it somewhere else.
2021-05-26 23:08:19 +02:00
刁浩 10284789
5908cd0d90 simplify returning boolean expression in /pkg/volume
Signed-off-by: 刁浩 10284789 <diao.hao@zte.com.cn>
2021-05-25 02:39:55 +00:00
Kubernetes Prow Robot
6768ac8115 Merge pull request #100894 from clickyotomy/sk/loop-dev-sysfs
Handle invalid `losetup' options
2021-05-12 05:05:39 -07:00
Kubernetes Prow Robot
c9bd08a3c4 Merge pull request #101046 from lojies/fixbrokenlink
fix broken link in some files
2021-05-07 13:31:34 -07:00
Kubernetes Prow Robot
c08526c7f7 Merge pull request #100216 from yangjunmyfm192085/run-test29
Fix misspelling of condition.
2021-05-07 00:21:02 -07:00
Kubernetes Prow Robot
4ad08fa5b6 Merge pull request #101115 from wangyx1992/capital-log
cleanup: fix log capitalization in volume package
2021-05-06 03:51:16 -07:00
Srinidhi Kaushik
be63462f93 Handle invalid "losetup" options
The non "util-linux" versions of "losetup" don't seem to have
options like "-j" ("--associated") which lists the loop devices
associated with the file, or "--show" which  displays the name
of the assigned loop device for a file.

For instance, when "-j" is used, "GetLoopDevice()" fails with:

    $ losetup -j /path/to/file
    losetup: unrecognized option: j
    BusyBox v1.32.1 () multi-call binary.

Add a fallback option to lookup the device from "sysfs" in cases
where "losetup" fails for an invalid option. This can be done by
reading the backing file from "/sys/block/loop*/loop/backing_file"
for each of the devices listed there.

Signed-off-by: Srinidhi Kaushik <shrinidhi.kaushik@gmail.com>
2021-05-02 20:02:51 +05:30
andyzhangx
e10d3948f5 fix: azure file namespace issue in csi translation
fix build failure

fix comments
2021-04-20 07:23:09 +00:00
wangyx1992
7fe934a72d cleanup: fix log capitalization in volume package
Signed-off-by: wangyx1992 <wang.yixiang@zte.com.cn>
2021-04-14 21:58:56 +08:00
卢振兴10069964
b29a5fb074 fix broken link in some files 2021-04-13 08:46:24 +08:00
Kubernetes Prow Robot
bb0906dcb2 Merge pull request #99929 from lala123912/lint_clean
Remove unused/dead code
2021-04-08 16:00:34 -07:00
Natanael Copa
d45ba645a8 Get inodes and disk usage via pure go
Fix inode usage calculation to use filepath.Walk instead of executing an
external find. Also calculate the disk usage while at it so we also get
rid of the external dependency of `nice` and `du`. (#95172)

This is similar to what cadvisor does since commit
046818d64c

This solves three problems:
- Counts number of inodes correct when there are hardlinks (#96114)
- Makes kubelet work without GNU findutils (#95186)
- Makes kubelet work without GNU coreutils (#95172)
2021-04-06 14:19:35 +02:00
JUN YANG
6c566f6dfa Fix misspelling of condition.
Signed-off-by: JUN YANG <yang.jun22@zte.com.cn>
2021-03-19 16:27:53 +08:00
Kubernetes Prow Robot
4b6e3e164f Merge pull request #99221 from jsturtevant/windows-host-stats-provider
Get filesystem stats for files on Windows
2021-03-10 11:09:23 -08:00
Kubernetes Prow Robot
5155865ae2 Merge pull request #99326 from sunpa93/fs_resize_fix
fix: use pv annotation to trigger filesystem resize when necessary
2021-03-09 11:05:18 -08:00
Sung Jun Park
5f69cf74d8 fix: when newly binding pvc to a pv, adjust pvc.status.capacity to pv's annotation that denotes the pre-resize capacity of the original pvc that pv was bound to if it has one
test: confirm that pvc's status capacity is adjusted if pv has a pre-resize capacity annotation
2021-03-09 07:55:10 +00:00
lala123912
127b675a15 Remove unused/dead code 2021-03-09 09:34:37 +08:00
James Sturtevant
c9eff4e906 Get filesystem stats for files on Windows 2021-03-08 12:50:23 -08:00
Shintaro Murakami
fe7a862c2d Unify determination of whether a volume is ephemeral 2021-03-05 14:49:09 +09:00
Benjamin Elder
56e092e382 hack/update-bazel.sh 2021-02-28 15:17:29 -08:00
Kubernetes Prow Robot
c200a8f9b7 Merge pull request #98433 from damemi/remove-helper-from-volume-zone
Move GetPersistentVolumeClaimClass to component-helpers
2021-02-26 12:38:15 -08:00
Kubernetes Prow Robot
ccf8a2ef4f Merge pull request #99088 from gavinfish/storage-resize
Storage: move filesystem resize code to kubernetes/mount-utils
2021-02-22 17:24:02 -08:00
drfish
eb0b61912f Use utilexec.Interface instead of SafeFormatAndMount as filed of ResizeFs 2021-02-20 23:41:06 +08:00
Jiawei Wang
43bc6fa806 Add csi_operations_seconds metrics on kubelet 2021-02-17 13:38:27 -08:00
Kubernetes Prow Robot
aa28a3563b Merge pull request #99050 from Jiawei0227/storage_metrics
Add migrated field to storage_operation_duration_seconds metric
2021-02-16 18:21:06 -08:00
drfish
a04ab9debf Move filesystem resize code to kubernetes/mount-utils 2021-02-15 16:07:07 +08:00
Jiawei Wang
6a7222cf4e Add migrated field to storage_operation_duration_seconds metric 2021-02-12 17:35:01 -08:00
Matthew Cary
3e9cf26f11 Restore volume operation error metric, and mark it and related metric for deprecation
Change-Id: I3f559e34637c28999ee9e708a832e16b1764887d
2021-02-12 14:21:24 -08:00
Kubernetes Prow Robot
254106c42c Merge pull request #98830 from liyanhui1228/fixvspherepath
Escape the special character in vsphere windows path
2021-02-10 17:58:23 -08:00
Kubernetes Prow Robot
0d598baa4a Merge pull request #98641 from Jeffwan/update_links
Fix ALPHA stability level reference link
2021-02-10 13:42:15 -08:00
Kubernetes Prow Robot
5eeaa562b1 Merge pull request #98760 from wzshiming/ut/speed-up-operationexecutor
Speed up pkg/volume/util/operationexecutor unit tests
2021-02-09 00:45:35 -08:00
Angela Li
1edb548b09 Use -LiteralPath instead of -Path 2021-02-06 22:45:46 -08:00
Angela Li
0fd36b00bb Escape the special character in vsphere windows path 2021-02-06 02:13:31 -08:00
wzshiming
48eb16797c Speed up pkg/volume/util/operationexecutor unit tests 2021-02-04 22:14:34 +08:00
mengjiao.liu
d9138069fe fix VolumeMount permissions with subpaths only apply the right permissions to the last directory 2021-02-03 16:25:47 +08:00
Mike Dame
ba72411aa2 Move GetPersistentVolumeClaimClass to component-helpers
The goal of this move is related to issue 89930, to break the dependence
of scheduling plugins on internal helpers. This function can easily move to
component-helpers where it will be used by other components as well.
2021-02-01 10:48:38 -05:00
Jiaxin Shan
e01a21469b Fix ALPHA stability level reference link 2021-01-31 15:39:04 -08:00
jornshen
c88cb14777 combine volumn latency and error metrics 2021-01-23 16:19:26 +08:00
JieJhih Jhang
f1829a7744 fix golint in volume fs 2021-01-12 06:35:52 +08:00
Claudiu Belu
82a9fb9d0e subatomic: Creates the symlinks to user-visible files later
When creating a symlink on Windows, if the target does not exist, the created
file is just a regular "symlink" file. But, if the target ultimately ends up being
a folder, then that symlink file is not valid, it must be a "symlinkd" in order to function
properly. Because the symlink file is not valid, the pods having that volume will fail to start.

Creating the user-visible files after the timestamped and data folders have been created
addresses this issue.
2021-01-06 04:10:28 -08:00
Kubernetes Prow Robot
39483aa095 Merge pull request #96889 from jsafrane/fix-kubelet-symlink
Fix loopback device lookup
2021-01-05 20:57:51 -08:00
Jan Safranek
357a8c3f55 Fix loopback device lookup
In case /var/lib/kubelet is a symlink, "losetup -j <device in
/var/lib/kubelet>" will show the device paths with symlinks fully
evaluated.

Fix the parsing routine and expand symlinks in the path that we want to
find in "losetup -j" output.
2020-12-16 09:33:51 +01:00
xiongzhongliang
0d2b542dde fix typo and format for klog 2020-11-14 23:44:38 +08:00
Kubernetes Prow Robot
2b4be7bb5f Merge pull request #88759 from andyzhangx/csi-dir-fix
feat: ignore mount dir check in csi node stage/publish
2020-11-09 16:08:40 -08:00
Jan Safranek
6060c57ba3 Call MountDevice only once
Cann MountDevice only when the volume was not device-mounted before.
2020-11-09 19:22:29 +01:00
Jan Safranek
b3b53cbf63 Mark MountDevice as uncertain after failed resize
When NodeExpand fails between MountDevice and SetUp, make sure the next
NodeExpand attempt is called before SetUp.
2020-11-09 19:22:29 +01:00
Kubernetes Prow Robot
fe5f2cf8ef Merge pull request #95892 from JornShen/fix_plugin_name_for_fsgroupmetrics
Fix plugin name in fsgroupapplymetrics of csi and flexvolume
2020-11-04 16:40:53 -08:00
Kubernetes Prow Robot
71fea80155 Merge pull request #92692 from Pingan2017/verify-controller-attach
fix bug for verify attached volume loop
2020-11-04 05:22:04 -08:00
jornshen
db53ca01da change plugin name in fsgroupapplymetrics of csi and flexvolume to
distinguish different driver
2020-11-04 16:28:28 +08:00
Mike Dame
b7ba77c25b Move MatchNodeSelectorTerms to k8s.io/component-helpers 2020-10-29 13:39:13 -04:00