• Kubernetes Submit Queue's avatar
    Merge pull request #61019 from ianchakeres/e2e-lv-prov-bind-disc · af22cc80
    Kubernetes Submit Queue authored
    Automatic merge from submit-queue (batch tested with PRs 61644, 61624, 61743, 61019, 61287). 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>.
    
    Added e2e test for local-volume provisioner that does not create PV for discovered non-bind-mounted filesystem.
    
    **What this PR does / why we need it**:
    
    For v2+ of the [local volume provisioner](https://github.com/kubernetes-incubator/external-storage/tree/master/local-volume) non-bind mounted filesystems in a discovery directory will no longer result in local PVs. This change was put in place to handle the non-atomic nature of other methods of adding directories (e.g. https://github.com/kubernetes-incubator/external-storage/issues/482).
    
    This PR tests this change in behavior, and it validates that non-bind mounted directories within a discovery directory do NOT result in a local PV.
    
    **Which issue(s) this PR fixes**:
    Fixes https://github.com/kubernetes/kubernetes/issues/61020
    
    **Special notes for your reviewer**:
    
    This test can be executed using the following commands:
    ```
    KUBE_FEATURE_GATES="BlockVolume=true" NUM_NODES=1 go run hack/e2e.go -- --up
    
    go run hack/e2e.go -- --test --test_args='--ginkgo.focus=PersistentVolumes-local.*Local.*volume.*provisioner'
    ```
    
    If you get the logs from a local volume provisioner pod, you will see the following log messages:
    ```
    $ kubectl logs local-volume-provisioner-94ddb -n e2e-tests-persistent-local-volumes-test-6ls4z
    <snip>
    I0311 19:01:30.350504       1 controller.go:73] Controller started
    E0311 19:01:30.350849       1 discovery.go:172] Path "/mnt/local-storage/notbindmount" is not an actual mountpoint
    ```
    
    
    **Release note**:
    ```release-note
    NONE
    ```
    af22cc80
Name
Last commit
Last update
..
conformance Loading commit data...
e2e Loading commit data...
e2e_node Loading commit data...
fixtures Loading commit data...
images Loading commit data...
integration Loading commit data...
kubemark Loading commit data...
list Loading commit data...
soak Loading commit data...
typecheck Loading commit data...
utils Loading commit data...
BUILD Loading commit data...
OWNERS Loading commit data...
test_owners.csv Loading commit data...
test_owners.json Loading commit data...