• Kubernetes Submit Queue's avatar
    Merge pull request #64660 from figo/master · 44073e6f
    Kubernetes Submit Queue authored
    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
    44073e6f
Name
Last commit
Last update
..
fake Loading commit data...
labelmanager Loading commit data...
BUILD Loading commit data...
OWNERS Loading commit data...
csi_attacher.go Loading commit data...
csi_attacher_test.go Loading commit data...
csi_block.go Loading commit data...
csi_block_test.go Loading commit data...
csi_client.go Loading commit data...
csi_client_test.go Loading commit data...
csi_mounter.go Loading commit data...
csi_mounter_test.go Loading commit data...
csi_plugin.go Loading commit data...
csi_plugin_test.go Loading commit data...
csi_util.go Loading commit data...