Commit Graph

1062 Commits

Author SHA1 Message Date
ymqytw
9b393a83d4 update godep 2017-07-20 11:03:49 -07:00
ymqytw
3dfc8bf7f3 update import 2017-07-20 11:03:49 -07:00
Kubernetes Submit Queue
67ec254ef3 Merge pull request #49203 from adelton/flexvolume-TestCanSupport-init-fail
Automatic merge from submit-queue (batch tested with PRs 49212, 49203, 49255)

If the init fails for whatever reason, plugin is nil and cannot be used.

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

Addressing
```
=== RUN   TestCanSupport
E0719 13:48:19.829849    2289 driver-call.go:232] init command failed, status: Successx, reason:
--- FAIL: TestCanSupport (0.00s)
	flexvolume_test.go:180: Can't find the plugin by name
panic: runtime error: invalid memory address or nil pointer dereference [recovered]
	panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x30 pc=0x11fc5b5]
```

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

N/A

**Special notes for your reviewer**:

N/A

**Release note**:

```release-note
NONE
```
2017-07-20 02:35:13 -07:00
Kubernetes Submit Queue
db1956b876 Merge pull request #48460 from cosmincojocar/azure_file_cloud_environment
Automatic merge from submit-queue (batch tested with PRs 49218, 48253, 48967, 48460, 49230)

Fix the Azure file to work within different cloud environments

**What this PR does / why we need it**:
Fix the Azure file plugin to work within different cloud environments.

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

cc @rootfs @brendandburns
2017-07-19 20:05:37 -07:00
Kubernetes Submit Queue
25d3523359 Merge pull request #48940 from rootfs/fc-fencing
Automatic merge from submit-queue (batch tested with PRs 48377, 48940, 49144, 49062, 49148)

support fc volume attach and detach

**What this PR does / why we need it**:
Support FC volume attach and detach to enforce RWO access

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

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```
2017-07-19 19:10:12 -07:00
Kubernetes Submit Queue
7eb53ce85c Merge pull request #48171 from sdkfzv/master
Automatic merge from submit-queue

Improve the warning message if the rbd command is not found.

**What this PR does / why we need it**:
The previous warning msg is not correct if there is no rbd cmd.

**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
```
2017-07-19 07:14:19 -07:00
Jan Pazdziora
1ebd51aa70 If the init fails for whatever reason, plugin is nil and cannot be used.
Addressing
=== RUN   TestCanSupport
E0719 13:48:19.829849    2289 driver-call.go:232] init command failed, status: Successx, reason:
--- FAIL: TestCanSupport (0.00s)
	flexvolume_test.go:180: Can't find the plugin by name
panic: runtime error: invalid memory address or nil pointer dereference [recovered]
	panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x30 pc=0x11fc5b5]
2017-07-19 16:08:45 +02:00
Cosmin Cojocar
95cf81f833 Remove clientset from azure file test build 2017-07-19 10:18:51 +02:00
Cosmin Cojocar
7ae381207e Remove unused import after rebase 2017-07-19 08:59:32 +02:00
Cosmin Cojocar
6c3a853149 Add the fake cloud provider to azure file build 2017-07-19 08:56:12 +02:00
Cosmin Cojocar
5c4290d4f2 Add tests for other cloud providers 2017-07-19 08:56:12 +02:00
Cosmin Cojocar
4378c7ae8e Restrict the dir and file permissions of the mounted volume 2017-07-19 08:56:12 +02:00
Cosmin Cojocar
44210092c1 Fix comment to conform to golint 2017-07-19 08:56:12 +02:00
Cosmin Cojocar
a3506c8e16 Fall back on Azure public cloud endpoint when no Azure cloud provider is found 2017-07-19 08:56:12 +02:00
Cosmin Cojocar
599ab98f86 Add the azure cloud provider dependency to azure file plugin 2017-07-19 08:56:12 +02:00
Cosmin Cojocar
b79a7a12c8 Fix the Azure file to work within different cloud environments 2017-07-19 08:55:24 +02:00
Kubernetes Submit Queue
fc1d2b3be7 Merge pull request #48256 from xiangpengzhao/move-pkg-util
Automatic merge from submit-queue (batch tested with PRs 48481, 48256)

Refactor: pkg/util into sub-pkgs

**What this PR does / why we need it**:
- move code in pkg/util into sub-pkgs
- delete some unused funcs

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

**Special notes for your reviewer**:
This is the final work of #15634. It will close that issue.
/cc @thockin 

**Release note**:

```release-note
NONE
```
2017-07-18 18:19:19 -07:00
Humble Chirammal
b432854f17 This patch add new storage class parameter called
`volumeoptions` which can be used to set various volume options.
for eg# if you want to enable encryption on volumes,
the values like `client.ssl on`, `server.ssl on`..etc can be passed
to `volumeoptions` parameter in storageclass.

Issue # https://github.com/kubernetes/kubernetes/issues/28454

Signed-off-by: Humble Chirammal <hchiramm@redhat.com>
2017-07-18 19:45:38 +05:30
xiangpengzhao
01daf707c5 Refactor: pkg/util into sub-pkgs 2017-07-18 14:34:08 +08:00
sdkfzv
cb388d0c7e Merge branch 'master' into master 2017-07-18 09:37:29 +08:00
zhangningmin
01b6fc78cd Improve the warning message if the rbd command is not found. 2017-07-18 09:33:24 +08:00
Jacob Simpson
2c70e5df35 Manual changes. 2017-07-17 15:05:37 -07:00
Jacob Simpson
29c1b81d4c Scripted migration from clientset_generated to client-go. 2017-07-17 15:05:37 -07:00
Kubernetes Submit Queue
2c1c33d416 Merge pull request #48898 from portworx/fix-px-volume-calls
Automatic merge from submit-queue (batch tested with PRs 48997, 48595, 48898, 48711, 48972)

Use local PX endpoint for mount, unmount, detach and attach calls

**What this PR does / why we need it**:
This PR fixes an issue with Setup and TearDown of Portworx volumes which has side-effects such a Pod using a Portworx volume not being able to start on the minion.

**Which issue this PR fixes**: fixes #49034 
This PR addresses an issue that fails to mount, attach, unmount or detach a volume when Kubernetes sends these requests to Portworx when it's API server on that particular minion is down. 

Portworx mount, unmount, attach and detach requests need to be received on the minion where the pod is running. So these calls need to talk to the Portworx API server running locally on that node (and NOT to the Portworx k8s service since it may route the request to any node in the cluster). This PR explicitly makes such requests local only.

**Release note**:
```release-note
NONE
```
2017-07-17 13:23:52 -07:00
Kubernetes Submit Queue
1cbb7b1405 Merge pull request #47417 from xilabao/print-non-existent-key
Automatic merge from submit-queue (batch tested with PRs 47417, 47638, 46930)

print non-existent key in configmap

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

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

**Special notes for your reviewer**:
carry from #41574
**Release note**:

```release-note
NONE
```
2017-07-16 16:33:01 -07:00
Kubernetes Submit Queue
86a42b8796 Merge pull request #46973 from php-coder/improve_flex_logging
Automatic merge from submit-queue (batch tested with PRs 46973, 48556)

Improve error reporting when flex driver has failed to initialize

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

This PR improves error reporting for the case when flex driver is failing to initialize. There are 2 improvements:

1) show only the plugin name instead of a full struct. This makes a message shorter and removes useless and internal information.

Before:
>E0605 16:44:59.330215   26786 plugins.go:359] Failed to load volume plugin &{k8s/nfs /usr/libexec/kubernetes/kubelet-plugins/volume/exec/k8s~nfs %!s(*kubelet.kubeletVolumeHost=&{0xc431ea5800 {{1 0} map[kubernetes.io/downward-api:0xc431ee3f20 kubernetes.io/aws-ebs:0xc431ee3eb0 kubernetes.io/git-repo:0xc431ee3ef0 kubernetes.io/host-path:0xc430e985f0 kubernetes.io/rbd:0xc42bfab840 kubernetes.io/quobyte:0xc431ee3f00 kubernetes.io/fc:0xc42bfab980 kubernetes.io/empty-dir:0xc431ee3ed0 kubernetes.io/nfs:0xc430e98640 kubernetes.io/iscsi:0xc42bfab720 kubernetes.io/glusterfs:0xc430faaba0 kubernetes.io/cinder:0xc42bfab8c0 kubernetes.io/gce-pd:0xc431ee3ee0 kubernetes.io/secret:0xc42bfab6a0 kubernetes.io/flocker:0xc431ee3f30 kubernetes.io/cephfs:0xc431ee3f10]} 0xc42698cf40}) %!s(*exec.executor=&{}) {%!s(int32=0) %!s(uint32=0)} []}, error: unexpected end of JSON input

After:
>E0605 16:59:45.520185   29041 plugins.go:359] Failed to load volume plugin k8s/nfs, error: unexpected end of JSON input

2) quote script output. In case the output was empty, messages look a bit better:

Before:
> E0605 16:44:59.330077   26786 driver-call.go:212] Failed to unmarshal output for command: init, **output: **, error: unexpected end of JSON input
> W0605 16:44:59.330170   26786 driver-call.go:140] FlexVolume: driver call failed: executable: /usr/libexec/kubernetes/kubelet-plugins/volume/exec/k8s\~nfs/nfs, args: [init], error: fork/exec /usr/libexec/kubernetes/kubelet-plugins/volume/exec/k8s\~nfs/nfs: permission denied, **output: **

After:
>E0605 16:59:45.519906   29041 driver-call.go:212] Failed to unmarshal output for command: init, **output: ""**, error: unexpected end of JSON input
>W0605 16:59:45.520109   29041 driver-call.go:140] FlexVolume: driver call failed: executable: /usr/libexec/kubernetes/kubelet-plugins/volume/exec/k8s\~nfs/nfs, args: [init], error: fork/exec /usr/libexec/kubernetes/kubelet-plugins/volume/exec/k8s\~nfs/nfs: permission denied, **output: ""**
2017-07-15 18:02:36 -07:00
Kubernetes Submit Queue
c3e8bd04a9 Merge pull request #48949 from php-coder/minor_cleanup
Automatic merge from submit-queue

Fix comments and typo in the error message

**What this PR does / why we need it**:
This PR fixes outdated comments and typo in the error message.

**Release note**:
```release-note
NONE
```

CC @simo5
2017-07-15 16:04:21 -07:00
Kubernetes Submit Queue
f736f3121f Merge pull request #48326 from karataliu/afd.dev
Automatic merge from submit-queue

Fix share name generation in azure file provisioner.

**What this PR does / why we need it**:
Azure file share name has a length limit of 63, but currently the code is using data volume's limit 75.

**Which issue this PR fixes**
With current implementation, when the cluster name is long, the resulting file share name could have a length of 75.

Also function `GenerateVolumeName` would produce double '-' when clusterName containing '-' is to be truncated.

In both cases, service would reject the creating file share request.

**Special notes for your reviewer**:
Please refer to:
https://docs.microsoft.com/en-us/rest/api/storageservices/naming-and-referencing-shares--directories--files--and-metadata#share-names

- Share names must be from 3 through 63 characters long.
- The name cannot contain two consecutive hyphens.

@rootfs @colemickens 

**Release note**:
2017-07-14 19:50:14 -07:00
Huamin Chen
b887776880 add fc volume attacher
Signed-off-by: Huamin Chen <hchen@redhat.com>
2017-07-14 16:34:53 -04:00
Harsh Desai
90919e3e4e Add more detailed comment for localOnly flag in getPortworxDriver function 2017-07-14 13:20:16 -07:00
Harsh Desai
7268e2e2e8 Fix logging levels in Portworx volume driver and add doc for getPortworxDriver function 2017-07-14 13:20:06 -07:00
Harsh Desai
8d0dec7078 Use local PX endpoint for mount, unmount, detach and attach calls 2017-07-14 13:20:06 -07:00
Kubernetes Submit Queue
8532cdfd69 Merge pull request #48886 from mikedanese/cleanup
Automatic merge from submit-queue

remove some people from OWNERS so they don't get reviews anymore

These are googlers who don't work on the project anymore but are still
getting reviews assigned to them:
- @bprashanth
- @rjnagal
- @vmarmol
2017-07-14 11:46:10 -07:00
Slava Semushin
ae147a737c Fix comments and typo in the error message. 2017-07-14 19:17:12 +02:00
Khaled Henidak & Andy Zhang
677e593d86 Add Azure managed disk support 2017-07-14 14:09:44 +08:00
Mike Danese
c201553f27 remove some people from OWNERS so they don't get reviews anymore
These are googlers who don't work on the project anymore but are still
getting reviews assigned to them:
- bprashanth
- rjnagal
- vmarmol
2017-07-13 10:02:21 -07:00
Kubernetes Submit Queue
494ffa4650 Merge pull request #48457 from cofyc/rbd_error
Automatic merge from submit-queue (batch tested with PRs 48425, 41680, 48457, 48619, 48635)

"rbd: image xxx is locked by other nodes" is misleading

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

For RWO PV, RBD plugin tries to fence it first, but there are many situations which may cause lock to fail, e.g.

- userSecret is incorrect
- monitor addresses are incorrect or node cannot access ceph cluster temporarily
- image is locked by other nodes
- maybe more...

So, original "image xxx is locked by other nodes" is incorrect in some cases and misleading in diagnosis.

This PR change the error to be correct and not misleading first. We may add detail error descriptions later.

**Special notes for your reviewer**:

New FailedMount event example if RBD plugin cannot lock image:

```
...		FailedMount		MountVolume.SetUp failed for volume "pvc-ee37a9c8-608e-11e7-b3a7-000c291fbe71" : rbd: failed to lock image kubernetes-dynamic-pvc-ee3b9911-608e-11e7-97b6-000c291fbe71 (maybe locked by other nodes), error exit status 22
```

**Release note**:

```release-note
NONE
```
2017-07-12 10:57:17 -07:00
Kubernetes Submit Queue
f5f9894efc Merge pull request #48709 from jsafrane/gluster-autumount
Automatic merge from submit-queue (batch tested with PRs 48672, 47140, 48709, 48786, 48757)

glusterfs: retry without auto_unmount only when it's not supported

GlusterFS volume plugin should not blindly retry all failed mounts without
auto_unmount, it should retry them only when we are sure that auto_unmount
was the reason the first attempt failed.

@kubernetes/sig-storage-pr-reviews 
/assign @humblec 

```release-note
NONE
```
2017-07-12 09:02:55 -07:00
Kubernetes Submit Queue
65b48aaec1 Merge pull request #48672 from dixudx/resolve_hard_coded_path_sep_atomic
Automatic merge from submit-queue (batch tested with PRs 48672, 47140, 48709, 48786, 48757)

use built-in path separator instead of hard coded

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

We should use built-in path separator to avoid hard coded strings.

**Which issue this PR fixes** :

**Special notes for your reviewer**:

**Release note**:

```release-note
None
```
2017-07-12 09:02:51 -07:00
Kubernetes Submit Queue
03360d7b65 Merge pull request #48402 from ianchakeres/local-storage-teardown-fix
Automatic merge from submit-queue

Local storage teardown fix

**What this PR does / why we need it**: Local storage uses bindmounts and the method IsLikelyNotMountPoint does not detect these as mountpoints. Therefore, local PVs are not properly unmounted when they are deleted.

**Which issue this PR fixes**: fixes #48331

**Special notes for your reviewer**:

You can use these e2e tests to reproduce the issue and validate the fix works appropriately https://github.com/kubernetes/kubernetes/pull/47999

The existing method IsLikelyNotMountPoint purposely does not check mountpoints reliability (4c5b22d4c6/pkg/util/mount/mount_linux.go (L161)), since the number of mountpoints can be large. 4c5b22d4c6/pkg/util/mount/mount.go (L46)

This implementation changes the behavior for local storage to detect mountpoints reliably, and avoids changing the behavior for any other callers to a UnmountPath.

**Release note**:

```
Fixes bind-mount teardown failure with non-mount point Local volumes (issue https://github.com/kubernetes/kubernetes/issues/48331).
```
2017-07-11 20:35:29 -07:00
Ian Chakeres
2b18d3b6f7 Fixes bind-mount teardown failure with non-mount point Local volumes
Added IsNotMountPoint method to mount utils (pkg/util/mount/mount.go)
Added UnmountMountPoint method to volume utils (pkg/volume/util/util.go)
Call UnmountMountPoint method from local storage (pkg/volume/local/local.go)
IsLikelyNotMountPoint behavior was not modified, so the logic/behavior for UnmountPath is not modified
2017-07-11 17:19:58 -04:00
Jan Safranek
c20b4f7e4e glusterfs: retry without auto_unmount only when it's not supported
GlusterFS volume plugin should not blindly retry all failed mounts without
auto_unmount, it should retry them only when we are sure that auto_unmount
was the reason the first attempt failed.
2017-07-10 14:33:56 +02:00
Di Xu
a76ccf5a5a use built-in path separator instead of hard coded 2017-07-09 23:24:34 +08:00
Yecheng Fu
29030d2b42 "rbd: image xxx is locked by other nodes" is misleading 2017-07-04 07:54:31 +00:00
Kubernetes Submit Queue
d026286d39 Merge pull request #48055 from yiqinguo/yiqinguo_remove_err_ignored
Automatic merge from submit-queue

Add err judgment

I do not think that the error can be ignored here.

**Release note**:
```release-note
NONE
```
2017-07-02 20:05:39 -07:00
Kubernetes Submit Queue
4fe05d8191 Merge pull request #48264 from johscheuer/set-quota-for-volumes
Automatic merge from submit-queue (batch tested with PRs 48264, 48324, 48125, 47944, 47489)

Set quota for volumes

**What this PR does / why we need it**:
This PR allows users of the Quobyte Storage class to specify if automatically a Quota for the volume should be created. With a Quota a Quobyte volume can only grow in the specified size.

**Special notes for your reviewer**:
Update the Quobyte API version for the needed functionality.
2017-06-30 20:58:24 -07:00
Dong Liu
ba3e49b56d Fix share name generation in azure file provisioner. 2017-06-30 15:42:40 +08:00
Kubernetes Submit Queue
ad077c4ccb Merge pull request #47619 from mtanino/iscsi-remove-redundant-nil-check
Automatic merge from submit-queue (batch tested with PRs 47619, 47951, 46260, 48277)

iSCSi plugin: Remove redundant nil check

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

This patch is for cleanup of redundant nil check in iSCSI plugin.
This was mentioned at the code review on origin github thread.

https://github.com/openshift/origin/pull/14565

**Which issue this PR fixes** 

**Special notes for your reviewer**:

**Release note**:

```
NONE
```
2017-06-29 14:05:24 -07:00
Johannes Scheuermann
e631550ef3 Make the Quota creation optional 2017-06-29 13:12:24 +02:00
Johannes Scheuermann
6a88a03d59 Set a Quobyte quota for newly created volumes 2017-06-29 09:21:58 +02:00