Files
kubernetes/pkg/volume
Kubernetes Submit Queue 44073e6f43 Merge pull request #64660 from figo/master
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>.

Add support for plugin directory hierarchy

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

Add hierarchy support for plugin directory, it traverses and 
watch plugin directory and its sub directory recursively.

plugin socket file only need be unique within one directory,
``` 
 plugin socket directory  
    |  
    ---->sub directory 1
    |              |  
    |              ----->  socket1,  socket2 ...
    ----->sub directory 2
                  |
                  ------> socket1, socket2 ...  
```
the design itself allow sub directory be anything,
but in practical, each plugin type could just use one sub directory.

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

**Special notes for your reviewer**:

twos bonus changes added as below

1) propose to let pluginWatcher bookkeeping registered plugins,
to make sure plugin name is unique within one plugin type.  
arguably, we could let each handler do the same work, but it requires
every handler repeat the same thing.    
 
2) extract example handler out from test, it is easier to read the code with the
seperation.  


**Release note**:

```release-note
N/A
```

/sig node
/cc @vikaschoudhary16  @jiayingz @RenaudWasTaken @vishh @derekwaynecarr  @saad-ali @vladimirvivien @dchen1107 @yujuhong @tallclair @Random-Liu @anfernee @akutz
2018-06-28 14:53:44 -07:00
..
2018-06-22 16:22:57 -07:00
2018-06-22 16:22:57 -07:00
2018-06-22 16:22:57 -07:00
2018-06-22 16:22:57 -07:00
2018-06-22 16:22:57 -07:00
2018-06-22 16:22:57 -07:00
2018-06-22 16:22:57 -07:00
2018-06-22 16:22:57 -07:00
2018-06-22 16:22:57 -07:00
2018-06-22 16:22:57 -07:00
2018-06-22 16:22:57 -07:00
2018-06-22 16:22:57 -07:00
2018-06-22 16:22:57 -07:00
2018-06-22 16:22:57 -07:00
2018-06-22 16:22:57 -07:00
2018-06-22 16:22:57 -07:00
2018-06-22 16:22:57 -07:00
2018-06-22 16:22:57 -07:00
2018-06-22 16:22:57 -07:00
2018-06-22 16:22:57 -07:00
2018-06-22 16:22:57 -07:00
2018-06-22 16:22:57 -07:00
2018-06-22 16:22:57 -07:00
2018-06-22 16:22:57 -07:00
2018-06-22 16:22:57 -07:00
2018-06-22 16:22:57 -07:00
2018-06-22 16:22:57 -07:00
2018-06-22 16:22:57 -07:00
2018-06-22 16:22:57 -07:00
2018-02-27 20:23:35 +08:00