Change:
Current CSI E2E test has some issues which prevent it to run successfully the a local cluster. /sig storage /kind bug /assign

Discussion:
{testName: "supported version", ver: &csipb.Version{Major: 0, Minor: 0, Patch: 0}}, {testName: "supported version", ver: &csipb.Version{Major: 0, Minor: 1, Patch: 0}}, {testName: "supported version", ver: &csipb.Version{Major: 0, Minor: 1, Patch: 10}}, <ins> {testName: "supported version", ver: &csipb.Version{Major: 0, Minor: 2, Patch: 0}}, </ins> {testName: "supported version", ver: &csipb.Version{Major: 1, Minor: 1, Patch: 0}}, {testName: "supported version", ver: &csipb.Version{Major: 1, Minor: 0, Patch: 10}}, {testName: "unsupported version", ver: &csipb.Version{Major: 10, Minor: 0, Patch: 0}, mustFail: true},

var ( // csiVersion supported csi version <del> csiVersion = &csipb.Version{Major: 0, Minor: 1, Patch: 0} </del> <ins> csiVersion = &csipb.Version{Major: 0, Minor: 2, Patch: 0} </ins> ) type csiPlugin struct {

SupportedVersions: []*csipb.Version{ {Major: 0, Minor: 0, Patch: 1}, {Major: 0, Minor: 1, Patch: 0}, <ins> {Major: 0, Minor: 2, Patch: 0}, </ins> {Major: 1, Minor: 0, Patch: 0}, {Major: 1, Minor: 0, Patch: 1}, {Major: 1, Minor: 1, Patch: 1},

csiDriverRegistrarImage     string = "quay.io/k8scsi/driver-registrar:v0.2.0" ) <del> func externalAttacherServiceAccount( </del> <ins> func csiServiceAccount( </ins> client clientset.Interface, config framework.VolumeTestConfig, teardown bool,

return ret } <del> func externalAttacherClusterRole( </del> <ins> func csiClusterRole( </ins> client clientset.Interface, config framework.VolumeTestConfig, teardown bool,

}, { APIGroups: []string{""}, <del> Resources: []string{"persistentvolumesclaims"}, </del> <ins> Resources: []string{"persistentvolumeclaims"}, </ins> Verbs:     []string{"get", "list", "watch", "update"}, }, {

return ret } <del> func externalAttacherClusterRoleBinding( </del> <ins> func csiClusterRoleBinding( </ins> client clientset.Interface, config framework.VolumeTestConfig, teardown bool,

BeforeEach(func() { By("deploying csi hostpath driver") <del> clusterRole = externalAttacherClusterRole(cs, config, false) serviceAccount = externalAttacherServiceAccount(cs, config, false) externalAttacherClusterRoleBinding(cs, config, false, serviceAccount, clusterRole) </del> <ins> clusterRole = csiClusterRole(cs, config, false) serviceAccount = csiServiceAccount(cs, config, false) csiClusterRoleBinding(cs, config, false, serviceAccount, clusterRole) </ins> csiHostPathPod(cs, config, false, f, serviceAccount) }) AfterEach(func() { By("uninstalling csi hostpath driver") csiHostPathPod(cs, config, true, f, serviceAccount) <del> externalAttacherClusterRoleBinding(cs, config, true, serviceAccount, clusterRole) serviceAccount = externalAttacherServiceAccount(cs, config, true) clusterRole = externalAttacherClusterRole(cs, config, true) </del> <ins> csiClusterRoleBinding(cs, config, true, serviceAccount, clusterRole) serviceAccount = csiServiceAccount(cs, config, true) clusterRole = csiClusterRole(cs, config, true) </ins> }) It("should provision storage with a hostPath CSI driver", func() {

claim := newClaim(t, ns.GetName(), "") class := newStorageClass(t, ns.GetName(), "") <ins> claim.Spec.StorageClassName = &class.ObjectMeta.Name </ins> testDynamicProvisioning(t, cs, claim, class) }) })