k3s/hack
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
..
boilerplate Merge pull request #59172 from fisherxu/removeyear 2018-03-21 12:44:37 -07:00
e2e-internal Update all script to use /usr/bin/env bash in shebang 2018-04-19 13:20:13 +02:00
gen-swagger-doc Update all script to use /usr/bin/env bash in shebang 2018-04-19 13:20:13 +02:00
jenkins Update all script to use /usr/bin/env bash in shebang 2018-04-19 13:20:13 +02:00
lib Merge pull request #64246 from wojtek-t/lease_object_type 2018-06-27 08:17:10 -07:00
make-rules special-case template printing in get.go 2018-06-22 14:58:27 -04:00
testdata Remove initializer test 2018-05-25 22:18:10 +02:00
verify-flags Add multi-vc configuration for e2e tests 2018-01-18 15:29:27 -08:00
.golint_failures Merge pull request #64660 from figo/master 2018-06-28 14:53:44 -07:00
.spelling_failures add spelling checking script 2018-02-23 09:33:14 +08:00
BUILD Merge pull request #62151 from thockin/build-cleanup-with-go-1-10 2018-04-23 22:45:24 -07:00
OWNERS Volunteer for local-up-cluster related files 2018-04-13 08:21:28 -04:00
autogenerated_placeholder.txt
benchmark-go.sh Update all script to use /usr/bin/env bash in shebang 2018-04-19 13:20:13 +02:00
build-cross.sh Update all script to use /usr/bin/env bash in shebang 2018-04-19 13:20:13 +02:00
build-go.sh Update all script to use /usr/bin/env bash in shebang 2018-04-19 13:20:13 +02:00
build-ui.sh Update all script to use /usr/bin/env bash in shebang 2018-04-19 13:20:13 +02:00
cherry_pick_pull.sh Update all script to use /usr/bin/env bash in shebang 2018-04-19 13:20:13 +02:00
dev-build-and-push.sh Update all script to use /usr/bin/env bash in shebang 2018-04-19 13:20:13 +02:00
dev-build-and-up.sh Update all script to use /usr/bin/env bash in shebang 2018-04-19 13:20:13 +02:00
dev-push-hyperkube.sh
e2e-node-test.sh Update all script to use /usr/bin/env bash in shebang 2018-04-19 13:20:13 +02:00
e2e.go translate hack/e2e.go -v to --verbose-commands 2018-03-07 11:27:56 -08:00
e2e_test.go translate hack/e2e.go -v to --verbose-commands 2018-03-07 11:27:56 -08:00
generate-bindata.sh Merge pull request #62657 from matthyx/master 2018-05-02 19:44:32 -07:00
generate-docs.sh Update all script to use /usr/bin/env bash in shebang 2018-04-19 13:20:13 +02:00
get-build.sh Update all script to use /usr/bin/env bash in shebang 2018-04-19 13:20:13 +02:00
ginkgo-e2e.sh Merge pull request #62328 from serathius/monitoring-default-none 2018-05-16 07:07:05 -07:00
godep-restore.sh Update all script to use /usr/bin/env bash in shebang 2018-04-19 13:20:13 +02:00
godep-save.sh Update all script to use /usr/bin/env bash in shebang 2018-04-19 13:20:13 +02:00
grab-profiles.sh Update all script to use /usr/bin/env bash in shebang 2018-04-19 13:20:13 +02:00
import-restrictions.yaml move resource builder flags to genericclioptions 2018-05-28 11:08:58 +02:00
install-etcd.sh Update all script to use /usr/bin/env bash in shebang 2018-04-19 13:20:13 +02:00
list-feature-tests.sh Update all script to use /usr/bin/env bash in shebang 2018-04-19 13:20:13 +02:00
local-up-cluster.sh Merge pull request #57355 from gnufied/disable-keep-terminated-pod-volumes-default 2018-06-19 20:19:12 -07:00
print-workspace-status.sh bazel: support using SOURCE_DATE_EPOCH to override date 2018-02-08 21:12:03 -08:00
run-in-gopath.sh Update all script to use /usr/bin/env bash in shebang 2018-04-19 13:20:13 +02:00
test-go.sh Update all script to use /usr/bin/env bash in shebang 2018-04-19 13:20:13 +02:00
test-integration.sh Update all script to use /usr/bin/env bash in shebang 2018-04-19 13:20:13 +02:00
test-update-storage-objects.sh Merge pull request #62657 from matthyx/master 2018-05-02 19:44:32 -07:00
update-all.sh Update all script to use /usr/bin/env bash in shebang 2018-04-19 13:20:13 +02:00
update-api-reference-docs.sh Update all script to use /usr/bin/env bash in shebang 2018-04-19 13:20:13 +02:00
update-bazel.sh Fix run-in-gopath issue with symlink'd gopath 2018-06-25 14:25:55 -07:00
update-cloudprovider-gce.sh Update all script to use /usr/bin/env bash in shebang 2018-04-19 13:20:13 +02:00
update-codegen.sh Update all script to use /usr/bin/env bash in shebang 2018-04-19 13:20:13 +02:00
update-generated-device-plugin-dockerized.sh Update all script to use /usr/bin/env bash in shebang 2018-04-19 13:20:13 +02:00
update-generated-device-plugin.sh Update all script to use /usr/bin/env bash in shebang 2018-04-19 13:20:13 +02:00
update-generated-docs.sh Update all script to use /usr/bin/env bash in shebang 2018-04-19 13:20:13 +02:00
update-generated-kms-dockerized.sh Update all script to use /usr/bin/env bash in shebang 2018-04-19 13:20:13 +02:00
update-generated-kms.sh Update all script to use /usr/bin/env bash in shebang 2018-04-19 13:20:13 +02:00
update-generated-kubelet-plugin-registration-dockerized.sh Add probe based mechanism for kubelet plugin discovery 2018-05-29 12:00:37 -04:00
update-generated-kubelet-plugin-registration.sh Add probe based mechanism for kubelet plugin discovery 2018-05-29 12:00:37 -04:00
update-generated-protobuf-dockerized.sh Add coordination API group with Lease type 2018-06-27 13:30:13 +02:00
update-generated-protobuf.sh Update all script to use /usr/bin/env bash in shebang 2018-04-19 13:20:13 +02:00
update-generated-runtime-dockerized.sh Update all script to use /usr/bin/env bash in shebang 2018-04-19 13:20:13 +02:00
update-generated-runtime.sh Update all script to use /usr/bin/env bash in shebang 2018-04-19 13:20:13 +02:00
update-generated-swagger-docs.sh Update all script to use /usr/bin/env bash in shebang 2018-04-19 13:20:13 +02:00
update-godep-licenses.sh update-godep-licenses.sh: various fixes and cleanups. 2018-03-23 15:38:20 +02:00
update-gofmt.sh Update all script to use /usr/bin/env bash in shebang 2018-04-19 13:20:13 +02:00
update-openapi-spec.sh Print error when APIServer fails to start 2018-06-27 09:59:41 -07:00
update-staging-godeps-dockerized.sh Update all script to use /usr/bin/env bash in shebang 2018-04-19 13:20:13 +02:00
update-staging-godeps.sh Update all script to use /usr/bin/env bash in shebang 2018-04-19 13:20:13 +02:00
update-swagger-spec.sh Print error when APIServer fails to start 2018-06-27 09:59:41 -07:00
update-translations.sh Update all script to use /usr/bin/env bash in shebang 2018-04-19 13:20:13 +02:00
update-workspace-mirror.sh workspace mirror: add trailing newline to urls list 2018-05-07 16:52:20 -07:00
update_owners.py remove some not used imports from python codes 2018-03-07 17:43:47 +08:00
verify-all.sh Update all script to use /usr/bin/env bash in shebang 2018-04-19 13:20:13 +02:00
verify-api-groups.sh Update all script to use /usr/bin/env bash in shebang 2018-04-19 13:20:13 +02:00
verify-api-reference-docs.sh Update all script to use /usr/bin/env bash in shebang 2018-04-19 13:20:13 +02:00
verify-bazel.sh Fully resolve tmpdir in verify scripts, since it might be a symlink on macOS 2018-04-06 16:37:19 -07:00
verify-boilerplate.sh Update all script to use /usr/bin/env bash in shebang 2018-04-19 13:20:13 +02:00
verify-cli-conventions.sh Update all script to use /usr/bin/env bash in shebang 2018-04-19 13:20:13 +02:00
verify-cloudprovider-gce.sh Update all script to use /usr/bin/env bash in shebang 2018-04-19 13:20:13 +02:00
verify-codegen.sh Update all script to use /usr/bin/env bash in shebang 2018-04-19 13:20:13 +02:00
verify-description.sh Update all script to use /usr/bin/env bash in shebang 2018-04-19 13:20:13 +02:00
verify-flags-underscore.py remove some not used imports from python codes 2018-03-07 17:43:47 +08:00
verify-generated-device-plugin.sh Update all script to use /usr/bin/env bash in shebang 2018-04-19 13:20:13 +02:00
verify-generated-docs.sh Update all script to use /usr/bin/env bash in shebang 2018-04-19 13:20:13 +02:00
verify-generated-files-remake.sh Better test for generated file rebuilds 2018-06-04 15:04:21 -07:00
verify-generated-kms.sh Update all script to use /usr/bin/env bash in shebang 2018-04-19 13:20:13 +02:00
verify-generated-kubelet-plugin-registration.sh Add probe based mechanism for kubelet plugin discovery 2018-05-29 12:00:37 -04:00
verify-generated-protobuf.sh Update all script to use /usr/bin/env bash in shebang 2018-04-19 13:20:13 +02:00
verify-generated-runtime.sh Update all script to use /usr/bin/env bash in shebang 2018-04-19 13:20:13 +02:00
verify-generated-swagger-docs.sh Update all script to use /usr/bin/env bash in shebang 2018-04-19 13:20:13 +02:00
verify-godep-licenses.sh Route verify-godep-licenses output to stderr 2018-02-07 21:45:02 -08:00
verify-godeps.sh Update all script to use /usr/bin/env bash in shebang 2018-04-19 13:20:13 +02:00
verify-gofmt.sh Update all script to use /usr/bin/env bash in shebang 2018-04-19 13:20:13 +02:00
verify-golint.sh Update all script to use /usr/bin/env bash in shebang 2018-04-19 13:20:13 +02:00
verify-govet.sh Update all script to use /usr/bin/env bash in shebang 2018-04-19 13:20:13 +02:00
verify-import-boss.sh Update all script to use /usr/bin/env bash in shebang 2018-04-19 13:20:13 +02:00
verify-imports.sh Update all script to use /usr/bin/env bash in shebang 2018-04-19 13:20:13 +02:00
verify-linkcheck.sh Update all script to use /usr/bin/env bash in shebang 2018-04-19 13:20:13 +02:00
verify-no-vendor-cycles.sh Update all script to use /usr/bin/env bash in shebang 2018-04-19 13:20:13 +02:00
verify-openapi-spec.sh Update all script to use /usr/bin/env bash in shebang 2018-04-19 13:20:13 +02:00
verify-pkg-names.sh Update all script to use /usr/bin/env bash in shebang 2018-04-19 13:20:13 +02:00
verify-readonly-packages.sh Update all script to use /usr/bin/env bash in shebang 2018-04-19 13:20:13 +02:00
verify-spelling.sh Update vendored tool go install location to use GOPATH 2018-06-25 15:45:14 -07:00
verify-staging-godeps.sh Update all script to use /usr/bin/env bash in shebang 2018-04-19 13:20:13 +02:00
verify-swagger-spec.sh Update all script to use /usr/bin/env bash in shebang 2018-04-19 13:20:13 +02:00
verify-symbols.sh Update all script to use /usr/bin/env bash in shebang 2018-04-19 13:20:13 +02:00
verify-test-images.sh Update all script to use /usr/bin/env bash in shebang 2018-04-19 13:20:13 +02:00
verify-test-owners.sh
verify-typecheck.sh Merge pull request #62657 from matthyx/master 2018-05-02 19:44:32 -07:00