kubernetes/pkg/volume
k8s-merge-robot 1ae9b73cd3 Merge pull request #29673 from pmorie/mount-collision
Automatic merge from submit-queue

Fix mount collision timeout issue

Short- or medium-term workaround for #29555.  The root issue being fixed here is that the recent attach/detach work in the kubelet uses a unique volume name as a key that tracks the work that has to be done for each volume in a pod to attach/mount/umount/detach.  However, the non-attachable volume plugins do not report unique names for themselves, which causes collisions when a single secret or configmap is mounted multiple times in a pod.

This is still a WIP -- I need to add a couple E2E tests that ensure that tests break in the future if there is a regression -- but posting for early review.

cc @kubernetes/sig-storage 

Ultimately, I would like to refine this a bit further.  A couple things I would like to change:

1.  `GetUniqueVolumeName` should be a property ONLY of attachable volumes
2.  I would like to see the kubelet apparatus for attach/mount/umount/detach handle non-attachable volumes specifically to avoid things like the `WaitForControllerAttach` call that has to be done for those volume types now
2016-07-27 21:06:47 -07:00
..
aws_ebs Add volume and mount logging 2016-07-21 09:10:00 -04:00
azure_file Use Go canonical import paths 2016-07-16 13:48:21 -04:00
cephfs Use Go canonical import paths 2016-07-16 13:48:21 -04:00
cinder Add volume and mount logging 2016-07-21 09:10:00 -04:00
configmap Fix wrapped volume race 2016-07-27 12:24:46 +03:00
downwardapi Fix wrapped volume race 2016-07-27 12:24:46 +03:00
empty_dir Use Go canonical import paths 2016-07-16 13:48:21 -04:00
fc Use Go canonical import paths 2016-07-16 13:48:21 -04:00
flexvolume Add volume and mount logging 2016-07-21 09:10:00 -04:00
flocker volume/flocker: plug time.Ticker resource leak 2016-07-18 17:38:12 +02:00
gce_pd Add volume and mount logging 2016-07-21 09:10:00 -04:00
git_repo Merge pull request #29673 from pmorie/mount-collision 2016-07-27 21:06:47 -07:00
glusterfs Use Go canonical import paths 2016-07-16 13:48:21 -04:00
host_path Use Go canonical import paths 2016-07-16 13:48:21 -04:00
iscsi Use Go canonical import paths 2016-07-16 13:48:21 -04:00
nfs Use Go canonical import paths 2016-07-16 13:48:21 -04:00
rbd Add volume and mount logging 2016-07-21 09:10:00 -04:00
secret Fix wrapped volume race 2016-07-27 12:24:46 +03:00
testing Remove "All rights reserved" from all the headers. 2016-06-29 17:47:36 -07:00
util Fix collisions issues / timeouts for mounts 2016-07-27 17:53:50 -04:00
vsphere_volume Remove "All rights reserved" from all the headers. 2016-06-29 17:47:36 -07:00
doc.go Use Go canonical import paths 2016-07-16 13:48:21 -04:00
metrics_cached.go Remove "All rights reserved" from all the headers. 2016-06-29 17:47:36 -07:00
metrics_du_test.go Remove "All rights reserved" from all the headers. 2016-06-29 17:47:36 -07:00
metrics_du.go Remove "All rights reserved" from all the headers. 2016-06-29 17:47:36 -07:00
metrics_nil_test.go Remove "All rights reserved" from all the headers. 2016-06-29 17:47:36 -07:00
metrics_nil.go Remove "All rights reserved" from all the headers. 2016-06-29 17:47:36 -07:00
metrics_statfs.go Remove "All rights reserved" from all the headers. 2016-06-29 17:47:36 -07:00
OWNERS Move blunderbuss assignees into tree 2016-03-02 20:46:32 -05:00
plugins_test.go Remove "All rights reserved" from all the headers. 2016-06-29 17:47:36 -07:00
plugins.go Remove "All rights reserved" from all the headers. 2016-06-29 17:47:36 -07:00
util_test.go Remove "All rights reserved" from all the headers. 2016-06-29 17:47:36 -07:00
util.go Remove "All rights reserved" from all the headers. 2016-06-29 17:47:36 -07:00
volume_linux.go Remove "All rights reserved" from all the headers. 2016-06-29 17:47:36 -07:00
volume_unsupported.go Remove "All rights reserved" from all the headers. 2016-06-29 17:47:36 -07:00
volume.go Fix typos in volume.go 2016-07-11 12:32:32 +02:00