Commit Graph

77 Commits

Author SHA1 Message Date
Davanum Srinivas
07d88617e5
Run hack/update-vendor.sh
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2020-05-16 07:54:33 -04:00
Davanum Srinivas
442a69c3bd
switch over k/k to use klog v2
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2020-05-16 07:54:27 -04:00
Hemant Kumar
75fdb6d554 When casting resource.Quantity to int64 it may overflow
We need to ensure that when converting resource.Quantity
to int64 it does not overflow and if it does, then an error is
returned back to the use rather than attempting expansion and
provisioning operations with scaled value.
2020-05-13 21:22:59 -04:00
Gaurav Singh
3531283b70 Changed error message 2020-04-24 11:15:48 -04:00
Gaurav Singh
749839c050 Change the error message 2020-04-24 10:48:09 -04:00
Gaurav Singh
e84c415417 Correct error log message 2020-04-11 10:05:29 -04:00
Gaurav Singh
a2e3a9f37a gce_correct_nil_check 2020-04-11 09:59:15 -04:00
Hemant Kumar
c52d4bf32f Implement changes into volume plugins for skipping chown
Add a separate function for walking directories
2020-03-04 21:23:31 -05:00
Jan Safranek
3af671011a Generated API 2020-03-02 22:21:42 +01:00
Jan Safranek
2c1b743766 Promote block volume features to GA 2020-02-28 20:48:38 +01:00
Kubernetes Prow Robot
a555825ab4
Merge pull request #88602 from yuga711/pd-limit
Fix to expose max gce-pd disks per instance
2020-02-27 16:12:53 -08:00
Jayasekhar Konduru
505dff6d20 Fixed in the GCE/PD in-tree volume logic to expose the max number of
persistent-disks for each instance type correctly.

Tested: Verified the kubernetes node object shows correct limits for
various instance types (n1-, c2-, e2-).
2020-02-26 18:20:37 -08:00
Maciej Borsz
c78c0e949d Remove unnecessary calls to GCE API after PD is created. 2020-02-13 09:57:25 +01:00
David Zhu
21f7060c8f Plumb test state through to fake volume host creation for error handling 2019-11-18 14:45:01 -08:00
Travis Rhoden
0c5c3d8bb9
Remove pkg/util/mount (moved out of tree)
This patch removes pkg/util/mount completely, and replaces it with the
mount package now located at k8s.io/utils/mount. The code found at
k8s.io/utils/mount was moved there from pkg/util/mount, so the code is
identical, just no longer in-tree to k/k.
2019-11-15 08:29:12 -07:00
Kubernetes Prow Robot
372ebd24f5
Merge pull request #83098 from ddebroy/disable-intree
CSI Migration phase 2: disable probing of in-tree plugins
2019-11-14 20:51:42 -08:00
Deep Debroy
129f15328b Disable in-tree plugins migrated to CSI
Signed-off-by: Deep Debroy <ddebroy@docker.com>
2019-11-14 17:28:21 -08:00
Masaki Kimura
f363a03f0b Refactor BlockVolumeMapper and BlockVolumeUnmapper interface
- Rename MapDevice to MapPodDevice in BlockVolumeMapper
- Add UnmapPodDevice in BlockVolumeUnmapper (This will be used by csi driver later)
- Add CustomBlockVolumeMapper and CustomBlockVolumeUnmapper interface
- Move SetUpDevice and MapPodDevice to CustomBlockVolumeMapper
- Move TearDownDevice and UnmapPodDevice to CustomBlockVolumeUnmapper
- Implement CustomBlockVolumeMapper only in local and csi plugin
- Implement CustomBlockVolumeUnmapper only in fc, iscsi, rbd, and csi plugin
- Change MapPodDevice to return path and SetUpDevice not to return path
2019-11-14 22:01:11 +00:00
Masaki Kimura
8a159d7253 Move MapBlockVolume call to operation_generator and add UnmapBlockVolume 2019-11-14 15:58:26 +00:00
Travis Rhoden
367f879131
Retire mount.Exec for k8s.io/utils/exec
This patch removes mount.Exec entirely and instead uses the common
utility from k8s.io/utils/exec.

The fake exec implementation found in k8s.io/utils/exec differs a bit
than mount.Exec, with the ability to pre-script expected calls to
Command.CombinedOutput(), so tests that previously relied on a callback
mechanism to produce specific output have been updated to use that
mechanism.
2019-11-13 14:09:57 -07:00
Travis Rhoden
1fd8921546
Move mount/fake.go to mount/fake_mount.go
This patch moves fake.go to mount_fake.go, and follows to principle of
always returning a discrete type rather than an Interface. All callers
of "FakeMounter" are changed to instead use "NewFakeMounter()". The
FakeMounter "Log" struct member is changed to not be exported, and
instead only access through a new "GetLog()" method.
2019-11-08 08:07:41 -07:00
Kubernetes Prow Robot
18cef954a1
Merge pull request #83591 from jingxu97/Oct/cache
Flush data cache during unmount device for GCE-PD in Windows
2019-10-21 21:11:36 -07:00
Jing Xu
1636b2b452 Flush data cache during unmount device for GCE-PD in Windows
This PR fixes the issue mentioned in #83590 for GCE-PD. It uses
WriteVolumeCache API to writes the file system cache to disk during
UnmountDevice in Windows. Linux does not need to explicitly flush cache
because unmount will automatically sync the disk which also flush the
cache.

Change-Id: Ife2745c92b8c0446e79a52e9f9ec7851d2f6b90d
2019-10-16 10:12:35 -07:00
Bob Killen
6e68d80013
Prune inactive owners from pkg/volume/* OWNERS files. 2019-10-13 08:44:11 -04:00
Kubernetes Prow Robot
8098bae921
Merge pull request #83451 from jsafrane/block-reconstruct
Fix block volume reconstruction
2019-10-08 03:45:18 -07:00
Jan Safranek
1c8c861009 Reconstruct block PV name in all volume plugins
The PV name is often necessary to build correct symlink paths
/var/lib/kubelet/pods/{podUid}}/{DefaultKubeletVolumeDevicesDirName}/{escapeQualifiedPluginName}/{PV name}
2019-10-04 15:49:49 +02:00
David Zhu
223ef76db5 Dedupe logging for PD SetUpAt and added a slow SetVolumeOwnership warning 2019-10-03 11:10:20 -07:00
Kubernetes Prow Robot
f105fef3d5
Merge pull request #81429 from huffmanca/resize_block_volume
Enables resizing of block volumes.
2019-08-23 17:59:05 -07:00
Benjamin Elder
5a3301a59d s/nolegacyproviders/providerless/ 2019-08-22 15:30:56 -07:00
Benjamin Elder
678d3f2841 add build tags to legacy provider code and make it possible to build kube-controller-manager without any legacyproviders or without particular legacy providers 2019-08-22 14:53:35 -07:00
Christian Huffman
7a4cdf5ab2 Included resizing for CSI-based block volumes.
Perform a no-op when volume is of type raw block

Fix bug with checking volume mounts for readonly
2019-08-22 15:45:57 -04:00
Kubernetes Prow Robot
369b765052
Merge pull request #80446 from hantaowang/test-verify-attach
Test verify attach
2019-08-03 15:33:49 -07:00
Hantao (Will) Wang
1da12e9435 add unit tests for attacher DisksAreAttached and BulkDisksAreAttached 2019-08-02 14:24:51 -07:00
David Zhu
9ed06e2cf9 Reduce GCE PD Attach Limits by 1 because Node Boot Disk counts as 1 attached disk 2019-08-02 13:37:10 -07:00
Hantao (Will) Wang
7ee5861fb9 add ability for gce to bulk verify attached disks 2019-07-19 10:41:46 -07:00
David Zhu
2820c1d8c8 Add davidz627 (David Zhu) to Approvers for OperationExecutor and GCE PD 2019-07-11 13:14:31 -07:00
Travis Rhoden
be7da5052f Refactor pkg/util/mount to be more reusable
This patch refactors pkg/util/mount to be more usable outside of
Kubernetes. This is done by refactoring mount.Interface to only contain
methods that are not K8s specific. Methods that are not relevant to
basic mount activities but still have OS-specific implementations are
now found in a mount.HostUtils interface.
2019-06-14 09:35:18 -06:00
Robert Krawitz
5b97b2860d Change fsGroup to mounterArgs in volume.SetUp() to allow for future extension. 2019-05-29 15:12:28 -04:00
Walter Fender
796097ae40 Staging the GCE Cloud Provider
**What type of PR is this?**
/kind cleanup

**What this PR does / why we need it**:
Staging the GCE Cloud Provider as part of KEP [20190125-removing-in-tree-providers](https://github.com/kubernetes/enhancements/blob/master/keps/sig-cloud-provider/20190125-removing-in-tree-providers.md). Staging repo setup here https://github.com/kubernetes/legacy-cloud-providers
Moves the GCE cloud provider implementation to staging.
This is in preparation for moving the cloud provider code out of tree entirely.
However we need it in staging while the code needs to be consumed both in/out of tree.

**Which issue(s) this PR fixes**:
Fixes #

**Special notes for your reviewer**:

**Does this PR introduce a user-facing change?**:

```
NONE
```

Updated import dependency tracking.
Factored in the cleanup from #77412
Minor fix to go.mod.
2019-05-07 13:17:52 -07:00
Jordan Liggitt
63ddfc1db9 Lock GCERegionalPersistentDisk feature on 2019-05-03 14:21:34 -04:00
Kubernetes Prow Robot
b5c34d0c43
Merge pull request #74734 from codenrhoden/move-mountspath
Move MountsInGlobalPDPath from mount pkg to volume
2019-05-01 17:28:18 -07:00
Travis Rhoden
78d109e201 Always use filepath.Join instead of path.Join
This patch cleans up pkg/util/mount/* and pkg/util/volume/* to always
use filepath.Join instead of path.Join. filepath.Join is preferred
because path.Join can have issues on Windows.
2019-04-29 09:56:05 -06:00
Travis Rhoden
12b7f1450c Move MountsInGlobalPDPath from mount pkg to volume
Since pkg/util/mount is going to move out of k/k, this exported constant
that is Kubernetes specific needed to move somewhere else. Made sense to
move it to pkg/volume/util.

Update GetDeviceNameFromMount in the mount interface to now take a
pluginMountDir argument, which is volume plugin dir with the global
mount path appended to it already.
2019-04-29 09:56:00 -06:00
Jing Xu
9926815246 Update the dynamic volume limit in GCE PD
Currently GCE PD support 128 maximum disks attached to a node for all
machines types except shared-core. This PR updates the limit number to
date.

Change-Id: Id9dfdbd24763b6b4138935842c246b1803838b78
2019-04-25 11:08:19 -07:00
Vladimir Vivien
cfafde983b Volume AttachablePlugin.CanAttach() now returns both bool and error 2019-04-08 16:53:22 -04:00
Vladimir Vivien
3777514f83 Adds DeviceMountablePlugin.CanDeviceMount check when retrieving plugins 2019-03-28 10:39:32 -04:00
Hemant Kumar
529cd7119b Move resize function parameters to a new ResizeOptions type
This enables us to pass CSI volume phase
2019-03-08 09:21:44 -05:00
Hemant Kumar
89d1de9eb9 Rename ExandFS to NodeExpand
Handle resize error in online resizing
Use NodeExpandable plugin to mark volumes that require node expansion
2019-03-08 09:21:44 -05:00
Jing Xu
5e04d200ee Add GcePD windows support
This PR adds the support for GCEPD volume. For now, it uses a workaround
(https://github.com/pjh/gce-tools) to get disk number in windows for a given GCE PD name.
2019-02-27 17:00:32 -08:00
Andrew Kim
a62ee8b0a9 clean up volume rounding functions and move to k8s.io/cloud-provider/volume 2019-02-09 01:16:55 -05:00