Commit Graph

1805 Commits

Author SHA1 Message Date
Kubernetes Submit Queue
8684e581a1 Merge pull request #54970 from jianglingxia/jlx-storageos
Automatic merge from submit-queue (batch tested with PRs 60457, 60331, 54970, 58731, 60562). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Remove val and ok in Storageos

**What this PR does / why we need it**:
in for loop has define the two para 
**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes #

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```
2018-03-19 23:42:15 -07:00
mlmhl
b9606696c9 return error if get NodeStageSecret and NodePublishSecret failed 2018-03-20 12:57:08 +08:00
Kubernetes Submit Queue
c64f19dd1b Merge pull request #59728 from wgliang/master.append
Automatic merge from submit-queue (batch tested with PRs 59740, 59728, 60080, 60086, 58714). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

more concise to merge the slice

**What this PR does / why we need it**:
more concise to merge the slice

**Special notes for your reviewer**:
2018-03-19 21:34:30 -07:00
andyzhangx
0ffa961ea3 respect fstype in Windows for azure disk 2018-03-16 08:25:03 +00:00
Humble Chirammal
2f9f78206e Add volumemetrics for ISCSI Plugin.
Signed-off-by: Humble Chirammal <hchiramm@redhat.com>
2018-03-15 13:40:50 +05:30
mlmhl
23dbd69925 return NodeStageVolume/NodePublishVolume error if operation failed 2018-03-15 11:03:30 +08:00
Kubernetes Submit Queue
6571be1311 Merge pull request #60962 from technicianted/flex_race_fix
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Added missing error check that could cause kubelet to crash

**What this PR does / why we need it**:
Adds missing error check. An error can happen due to a race condition when watched files change, or become inaccessible. This can happen if a file was added to the driver directory then quickly removed, in which case the callback will be called with non-nil `err` and nil `info`, which is not checked, causing kubelet to crash.

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

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```
2018-03-12 16:17:02 -07:00
Kubernetes Submit Queue
557de1e3e0 Merge pull request #61011 from mlmhl/csi_readonly
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Set readOnly for CSI mounter

**What this PR does / why we need it**:

Currently the `csiMountMgr .readOnly` field is never set, we should set it to `Spec.ReadOnly`.

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes #61008 

**Special notes for your reviewer**:

Currently, most of the volume plugins use a `getVolumeSourceFromSpec` method to fetch `VolumeSource` and `ReadOnly` from `volume.Spec`. If the volume is an inline volume, `ReadOnly` is fetched from `Spec.Volume.<SpecificVolumeSource>.ReadOnly`, and if the volume is a `PersistentVolume`, `ReadOnly` is set to `Spec.Readonly`, which comes from `PersistentVolumeClaimVolumeSource.ReadOnly`.

However, as CSI volume plugin is only supported in `PersistentVolume`, so we can just set `ReadOnly` to `Spec.ReadOnly`.

**Release note**:

```release-note
NONE
```

/sig storage
2018-03-12 13:34:11 -07:00
mlmhl
4a3bdbecf9 set readOnly for CSI mounter 2018-03-11 11:16:20 +08:00
technicianted
0fb8072b19 reduce nesting 2018-03-09 21:03:22 -08:00
technicianted
659d9df117 added missing error check 2018-03-08 21:39:22 -08:00
YuxiJin-tobeyjin
591654b6aa modified 2018-03-06 19:00:41 +08:00
Slava Semushin
180535c1fc pkg/volume/nfs/nfs.go: correct error messages. 2018-03-05 12:12:51 +01:00
Jan Safranek
5110db5087 Lock subPath volumes
Users must not be allowed to step outside the volume with subPath.
Therefore the final subPath directory must be "locked" somehow
and checked if it's inside volume.

On Windows, we lock the directories. On Linux, we bind-mount the final
subPath into /var/lib/kubelet/pods/<uid>/volume-subpaths/<container name>/<subPathName>,
it can't be changed to symlink user once it's bind-mounted.
2018-03-05 09:14:44 +01:00
wenlxie
fd20c8b020 ignore the loopbackdevice error, or the rbd volume will not get detached 2018-03-04 23:03:57 +08:00
linyouchong
62021378c1 delete unused variable 2018-03-01 19:31:23 +08:00
andyzhangx
dce507ce69 add remount logic for azure file plugin
fix comments
2018-03-01 07:46:07 +00:00
Kubernetes Submit Queue
2ae902a04e Merge pull request #52900 from xiangpengzhao/remove-ed-const
Automatic merge from submit-queue (batch tested with PRs 60342, 60505, 59218, 52900, 60486). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Use consts defined in api instead of defining another ones.

**What this PR does / why we need it**:
empty_dir defines some consts. There are already similar consts in api types. So remove the local ones in empty_dir.

**Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes #

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```
2018-02-28 06:07:31 -08:00
Kubernetes Submit Queue
a50984b4ff Merge pull request #60342 from joelsmith/nested
Automatic merge from submit-queue (batch tested with PRs 60342, 60505, 59218, 52900, 60486). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Fix nested volume mounts for read-only API data volumes

**What this PR does / why we need it**:

Since the runtime may try to create mount points within the sandbox, it will fail if the mount point is within a read-only API data volume, like a secret or configMap volume.

Create any needed mount points during volume setup.

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

**Special notes for your reviewer**:


**Release note**:

No release note needed since we haven't released any versions with this bug present (yet)

```release-note
NONE

```
2018-02-28 06:07:21 -08:00
Ryan Hitchman
8aa3ca3cbb Add a few "+build linux" tags where appropriate. 2018-02-27 13:53:32 -08:00
Ryan Hitchman
0067002db8 Make a few code paths compile cleanly with 32-bit Go. 2018-02-27 13:53:32 -08:00
Kubernetes Submit Queue
b13bfc74e2 Merge pull request #60337 from verult/repd-feature-gate
Automatic merge from submit-queue (batch tested with PRs 60157, 60337, 60246, 59714, 60467). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Feature gate for regional PDs

**What this PR does / why we need it**: Adding beta feature gate around regional PD support.

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*: Partially addresses #59988

**Special notes for your reviewer**: This feature has already been in alpha for two releases, but at the time it was not gated with a Kubernetes feature gate. Instead it was controlled by a GCE-specific alpha gate. However, there are additional changes with GCE PD StorageClass parameters that we'd like to gate as well, and this is out of scope of GCE alpha gates.

/cc @saad-ali @lavalamp
2018-02-27 12:05:33 -08:00
Kubernetes Submit Queue
0a8e5f8012 Merge pull request #60115 from davidz627/csiMountDevice
Automatic merge from submit-queue (batch tested with PRs 60430, 60115, 58052, 60355, 60116). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

CSI MountDevice/UnmountDevice Implementation

Fixes #60114

**What this PR does / why we need it**:
This PR Implements MountDevice and UnmountDevice for the CSI Plugin, the functions will call through to NodeStageVolume/NodeUnstageVolume for CSI plugins.

/sig storage

```release-note
Implements MountDevice and UnmountDevice for the CSI Plugin, the functions will call through to NodeStageVolume/NodeUnstageVolume for CSI plugins.
```
2018-02-27 09:38:40 -08:00
xiangpengzhao
22ea748809 Use consts defined in api instead of defining another ones. 2018-02-28 00:40:58 +08:00
Joel Smith
60c7ebf640 Fix nested volume mounts for read-only API data volumes
Since the runtime may try to create mount points within
the sandbox, it will fail if the mount point is within
a read-only API data volume, like a secret or configMap
volume.

Create any needed mount points during volume setup.
2018-02-27 07:41:39 -07:00
wackxu
b3ba80b223 update bazel 2018-02-27 20:23:36 +08:00
wackxu
f737ad62ed update import 2018-02-27 20:23:35 +08:00
wackxu
a01f633e8e move fs into seperate directory to break cycle import 2018-02-27 19:58:41 +08:00
wackxu
f268bb1605 merge util into one file 2018-02-27 19:58:41 +08:00
wackxu
2ca2f442ac Extract volumepathhandler into seperate directory 2018-02-27 19:58:41 +08:00
wackxu
8fe844d413 Extract recycler client into seperate directory 2018-02-27 19:58:41 +08:00
Kubernetes Submit Queue
7deaa982e8 Merge pull request #58916 from ianchakeres/ceph-nbd
Automatic merge from submit-queue (batch tested with PRs 59674, 60059, 60220, 58916, 60336). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Support rbd-nbd for mounting operations on Ceph rbd volumes

**What this PR does / why we need it**: 
This PR improves Ceph RBD support by allowing the pkg/volume/rbd to use the rbd-nbd client. This client is based on the common and broadly adopted (librados) librbd library, and it is being actively developed and maintained&nbsp;as part of the ceph upstream code base, unlike krbd.

**Which issue(s) this PR fixes**: 
Fixes https://github.com/kubernetes/kubernetes/issues/32266

**Special notes for your reviewer**:
rbd-nbd will be used for Ceph rbd volumes if rbd fails.

Some inspiration was pulled from these PRs #38936 & #55866.

**Test Description**: Tested against a k8s cluster with centos/7 as the host os. rbd-nbd installed from package rbd-nbd-10.2.3.rpm.

Tested:
1. Fall-through to current rbd map/unmap when no rbd-nbd tools are found.
2. Map/Unmap through rbd-nbd.
3. Detecting image already mapped to a nbd device and skipping additional mapping.
4. Detecting image already mapped to a rbd device and skipping additional mapping through nbd.
5. Unmap in hosts having mixed rbd and nbd devices (caused by fall-throughs for some images).
6. Map failure in rbd-nbd due to missing image.
7. Map failure in rbd-nbd due to unreachable mon.
8. Fall-through to current rbd map when rbd-nbd map fails for any reason.


**Release note**:

```release-note
K8s supports rbd-nbd for Ceph rbd volume mounts.
```
2018-02-27 03:31:42 -08:00
Kubernetes Submit Queue
9c57bf74b3 Merge pull request #60187 from humblec/error-util
Automatic merge from submit-queue (batch tested with PRs 60427, 60361, 60364, 58625, 60187). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Avoid explicit mention of glusterfs in error strings.

Signed-off-by: Humble Chirammal <hchiramm@redhat.com>



**What this PR does / why we need it**:

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes #

**Special notes for your reviewer**:

**Release note**:

```release-note

```
2018-02-27 01:34:34 -08:00
Kubernetes Submit Queue
6eabef4a7a Merge pull request #58625 from screeley44/aws-block-update2
Automatic merge from submit-queue (batch tested with PRs 60427, 60361, 60364, 58625, 60187). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

update aws plugin for block support

Update aws plugin to support block and volumeMode.

cc @jsafrane @mtanino @msau42 

```release-note
AWS EBS volume plugin got block volume support
```
2018-02-27 01:34:30 -08:00
Kubernetes Submit Queue
b684a282e5 Merge pull request #50724 from allencloud/fix-incorrect-comparison-log
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

fix incorrect comparison in /pkg/volume error message

Signed-off-by: allencloud <allen.sun@daocloud.io>



**What this PR does / why we need it**:
This PR fixes incorrect error message when there is comparison.

**Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes #
NONE

**Special notes for your reviewer**:
NONE

**Release note**:

```release-note
NONE
```
2018-02-26 20:34:37 -08:00
jianglingxia
2522b04698 Remove val and ok in Storageos 2018-02-27 10:59:44 +08:00
Cheng Xing
bb0f819d0b Adding beta feature flag for regional PDs. 2018-02-26 15:28:23 -08:00
David Zhu
cbd18965fd Added MountDevice/UnmountDevice pass-through to NodeStageVolume/NodeUnstageVolume for CSI Volume Plugin. Added related unit tests. Vendored CSI Spec to HEAD 2018-02-26 14:50:32 -08:00
Kubernetes Submit Queue
2b77b8f1ad Merge pull request #60370 from jianglingxia/jlx-fc2018
Automatic merge from submit-queue (batch tested with PRs 57326, 60076, 60293, 59756, 60370). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

FIX the os.Stat() func in volume file/kind bug

**What this PR does / why we need it**:
FIX the os.Stat() func has two same and delete one
**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes #

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```
2018-02-26 09:20:52 -08:00
Ian Chakeres
110447844d Use rbd-nbd if present for rbd volume map and unmap operations, if rbd fails. 2018-02-26 07:06:07 -08:00
Kubernetes Submit Queue
fbf4546000 Merge pull request #60369 from jianglingxia/jlx-201802241854
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Delete the two same if in func TestPlugin

**What this PR does / why we need it**:
Delete the two same if in func TestPlugin
**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes #

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```
2018-02-26 06:28:03 -08:00
Scott Creeley
53c6ea6d48 update aws plugin for block support 2018-02-26 09:08:21 -05:00
Kubernetes Submit Queue
2aed8d7a6d Merge pull request #58710 from screeley44/gce-block-update2
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

update GCE plugin for block support

update GCE plugin for block volume support

cc @gnufied @mtanino @jsafrane 
```release-note
GCE PD volume plugin got block volume support
```
2018-02-26 04:39:13 -08:00
Kubernetes Submit Queue
d866cf4b1c Merge pull request #60387 from jianglingxia/jlx-plugintest
Automatic merge from submit-queue (batch tested with PRs 60396, 60384, 60395, 60387, 60260). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

correct the expected value in plugintest

**What this PR does / why we need it**:
correct the expected value and got value
**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes #

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```
2018-02-26 00:01:40 -08:00
Kubernetes Submit Queue
bf8cda56c9 Merge pull request #60395 from jianglingxia/jlx-2018022609
Automatic merge from submit-queue (batch tested with PRs 60396, 60384, 60395, 60387, 60260). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Delete two same if judgement in photon_pd

**What this PR does / why we need it**:
Delete two same if in photon_pd
**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes #

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```
2018-02-26 00:01:37 -08:00
jianglingxia
f7c4373190 Delete two same if in photon_pd 2018-02-26 09:14:10 +08:00
Ian Chakeres
4812f9e5d8 Added local storage e2e test for VolumeMode: block
VolumeMode block requires alpha feature-gate BlockVolume=true

Added VolumeMode to e2e test framework for pv and pvc
Added volumeDevices to e2e test framework for block volumes
2018-02-25 16:39:09 -08:00
Kubernetes Submit Queue
2413dc7fe9 Merge pull request #60382 from sbezverk/csi_spec_credentails_update
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

CSI credentials to secrets update

Finalizing refactor of k8s CSI core code, it was triggered by changes in CSI Spec 0.2.0

```release-note
None
```
2018-02-25 09:03:45 -08:00
Kubernetes Submit Queue
71c2135c4a Merge pull request #60346 from andyzhangx/fix-devname-change
Automatic merge from submit-queue (batch tested with PRs 60346, 60135, 60289, 59643, 52640). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

fix device name change issue for azure disk

**What this PR does / why we need it**:
fix device name change issue for azure disk due to default host cache setting changed from None to ReadWrite from v1.7, and default host cache setting in azure portal is `None`

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes #60344, #57444
also fixes following issues:
https://github.com/Azure/acs-engine/issues/1918
https://github.com/Azure/AKS/issues/201

**Special notes for your reviewer**:
From v1.7, default host cache setting changed from None to ReadWrite, this would lead to device name change after attach multiple disks on azure vm, finally lead to disk unaccessiable from pod.
For an example:
statefulset with 8 replicas(each with an azure disk) on one node will always fail, according to my observation, add the 6th data disk will always make dev name change, some pod could not access data disk after that.

I have verified this fix on v1.8.4
Without this PR on one node(dev name changes):
```
azureuser@k8s-agentpool2-40588258-0:~$ tree /dev/disk/azure
...
└── scsi1
    ├── lun0 -> ../../../sdk
    ├── lun1 -> ../../../sdj
    ├── lun2 -> ../../../sde
    ├── lun3 -> ../../../sdf
    ├── lun4 -> ../../../sdg
    ├── lun5 -> ../../../sdh
    └── lun6 -> ../../../sdi
```

With this PR on one node(no dev name change):
```
azureuser@k8s-agentpool2-40588258-1:~$ tree /dev/disk/azure
...
└── scsi1
    ├── lun0 -> ../../../sdc
    ├── lun1 -> ../../../sdd
    ├── lun2 -> ../../../sde
    ├── lun3 -> ../../../sdf
    ├── lun5 -> ../../../sdh
    └── lun6 -> ../../../sdi
```

Following `myvm-0`, `myvm-1` is crashing due to dev name change, after controller manager replacement, myvm2-x  pods work well.

```
Every 2.0s: kubectl get po                                                                                                                                                   Sat Feb 24 04:16:26 2018

NAME      READY     STATUS             RESTARTS   AGE
myvm-0    0/1       CrashLoopBackOff   13         41m
myvm-1    0/1       CrashLoopBackOff   11         38m
myvm-2    1/1       Running            0          35m
myvm-3    1/1       Running            0          33m
myvm-4    1/1       Running            0          31m
myvm-5    1/1       Running            0          29m
myvm-6    1/1       Running            0          26m

myvm2-0   1/1       Running            0          17m
myvm2-1   1/1       Running            0          14m
myvm2-2   1/1       Running            0          12m
myvm2-3   1/1       Running            0          10m
myvm2-4   1/1       Running            0          8m
myvm2-5   1/1       Running            0          5m
myvm2-6   1/1       Running            0          3m
```

**Release note**:

```
fix device name change issue for azure disk
```
/assign @karataliu 
/sig azure
@feiskyer  could you mark it as v1.10 milestone?
@brendandburns @khenidak @rootfs @jdumars FYI

Since it's a critical bug, I will cherry pick this fix to v1.7-v1.9, note that v1.6 does not have this issue since default cachingmode is `None`
2018-02-24 23:39:48 -08:00
jianglingxia
a199d283fb correct the expected value in plugintest 2018-02-25 15:14:55 +08:00