k3s/pkg/kubelet
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
..
api/v1alpha1 CRI: add LinuxUser to LinuxContainerConfig 2016-07-15 22:17:41 +02:00
cadvisor Remove duplicate prometheus metrics 2016-07-20 16:00:21 +01:00
client Remove "All rights reserved" from all the headers. 2016-06-29 17:47:36 -07:00
cm Make volume unmount more robust using exclusive mount w/ O_EXCL 2016-07-18 16:20:08 -07:00
config Merge pull request #28865 from ronnielai/image-gc-0 2016-07-18 22:54:03 -07:00
container Merge pull request #29388 from ronnielai/image-gc-check 2016-07-27 16:44:50 -07:00
custommetrics Remove "All rights reserved" from all the headers. 2016-06-29 17:47:36 -07:00
dockertools Merge pull request #29388 from ronnielai/image-gc-check 2016-07-27 16:44:50 -07:00
envvars Use Go canonical import paths 2016-07-16 13:48:21 -04:00
events Moving event.go from kubelet/container to kubelet/events 2016-07-12 17:42:29 -07:00
eviction Merge pull request #29404 from derekwaynecarr/eviction-manager-runtime-dependent 2016-07-23 00:20:05 -07:00
images Moving image pulling errors under kubelet/images 2016-07-20 14:20:53 -07:00
leaky Remove "All rights reserved" from all the headers. 2016-06-29 17:47:36 -07:00
lifecycle Use Go canonical import paths 2016-07-16 13:48:21 -04:00
metrics Remove "All rights reserved" from all the headers. 2016-06-29 17:47:36 -07:00
network network/cni: Search `vendorDir` for lo plugin too 2016-07-22 14:40:44 -07:00
pleg Use Go canonical import paths 2016-07-16 13:48:21 -04:00
pod kubelet: delete unused pod manager method 2016-07-08 15:15:54 -07:00
prober Merge pull request #28865 from ronnielai/image-gc-0 2016-07-18 22:54:03 -07:00
qos Use Go canonical import paths 2016-07-16 13:48:21 -04:00
rkt Merge pull request #29388 from ronnielai/image-gc-check 2016-07-27 16:44:50 -07:00
server Merge pull request #28281 from nhlfr/authorize-return-bool 2016-07-18 21:40:26 -07:00
status Move ActiveDeadlineSeconds to use lifecycle observers 2016-07-07 13:43:55 -04:00
types Use Go canonical import paths 2016-07-16 13:48:21 -04:00
util Use Go canonical import paths 2016-07-16 13:48:21 -04:00
volumemanager Fix collisions issues / timeouts for mounts 2016-07-27 17:53:50 -04:00
OWNERS Move blunderbuss assignees into tree 2016-03-02 20:46:32 -05:00
active_deadline.go Move ActiveDeadlineSeconds to use lifecycle observers 2016-07-07 13:43:55 -04:00
active_deadline_test.go Move ActiveDeadlineSeconds to use lifecycle observers 2016-07-07 13:43:55 -04:00
container_bridge.go Remove "All rights reserved" from all the headers. 2016-06-29 17:47:36 -07:00
disk_manager.go Revert "Declare out of disk when there is no free inodes" 2016-07-06 08:19:09 -07:00
disk_manager_test.go Revert "Declare out of disk when there is no free inodes" 2016-07-06 08:19:09 -07:00
doc.go Use Go canonical import paths 2016-07-16 13:48:21 -04:00
flannel_helper.go Remove "All rights reserved" from all the headers. 2016-06-29 17:47:36 -07:00
image_manager.go Avoiding trying to gc images with no tags which are still in use 2016-07-27 10:31:47 -07:00
image_manager_test.go Avoiding trying to gc images with no tags which are still in use 2016-07-27 10:31:47 -07:00
kubelet.go Fail kubelet if cadvisor is not started. 2016-07-25 16:46:18 -07:00
kubelet_cadvisor.go Eviction manager needs to start as runtime dependent module 2016-07-22 10:19:40 -04:00
kubelet_cadvisor_test.go Eviction manager needs to start as runtime dependent module 2016-07-22 10:19:40 -04:00
kubelet_getters.go Remove pod mutation for PVs with supplemental GIDs 2016-07-22 17:41:44 -04:00
kubelet_getters_test.go Remove "All rights reserved" from all the headers. 2016-06-29 17:47:36 -07:00
kubelet_network.go Extract kubelet network code into its own file 2016-07-08 15:18:07 -04:00
kubelet_network_test.go Extract kubelet network code into its own file 2016-07-08 15:18:07 -04:00
kubelet_node_status.go Extract kubelet node status into separate file 2016-07-22 01:21:30 -04:00
kubelet_node_status_test.go Extract kubelet node status into separate file 2016-07-22 01:21:30 -04:00
kubelet_resources.go Remove "All rights reserved" from all the headers. 2016-06-29 17:47:36 -07:00
kubelet_resources_test.go Remove "All rights reserved" from all the headers. 2016-06-29 17:47:36 -07:00
kubelet_test.go Extract kubelet node status into separate file 2016-07-22 01:21:30 -04:00
kubelet_volumes.go Remove "All rights reserved" from all the headers. 2016-06-29 17:47:36 -07:00
networks.go Remove "All rights reserved" from all the headers. 2016-06-29 17:47:36 -07:00
oom_watcher.go Remove "All rights reserved" from all the headers. 2016-06-29 17:47:36 -07:00
oom_watcher_test.go Remove "All rights reserved" from all the headers. 2016-06-29 17:47:36 -07:00
pod_workers.go Moving event.go from kubelet/container to kubelet/events 2016-07-12 17:42:29 -07:00
pod_workers_test.go Remove "All rights reserved" from all the headers. 2016-06-29 17:47:36 -07:00
reason_cache.go Remove "All rights reserved" from all the headers. 2016-06-29 17:47:36 -07:00
reason_cache_test.go Remove "All rights reserved" from all the headers. 2016-06-29 17:47:36 -07:00
root_context_linux.go Remove "All rights reserved" from all the headers. 2016-06-29 17:47:36 -07:00
root_context_unsupported.go Remove "All rights reserved" from all the headers. 2016-06-29 17:47:36 -07:00
runonce.go Optimizing the processing flow of HandlePodAdditions and canAdmitPod methods. 2016-07-11 10:34:51 +08:00
runonce_test.go Make volume unmount more robust using exclusive mount w/ O_EXCL 2016-07-18 16:20:08 -07:00
runtime.go Remove "All rights reserved" from all the headers. 2016-06-29 17:47:36 -07:00
util.go Extract kubelet node status into separate file 2016-07-22 01:21:30 -04:00
volume_host.go Remove "All rights reserved" from all the headers. 2016-06-29 17:47:36 -07:00