diff --git a/test/e2e/storage/external/external.go b/test/e2e/storage/external/external.go index 7150a3d73b8..d57c60bf11b 100644 --- a/test/e2e/storage/external/external.go +++ b/test/e2e/storage/external/external.go @@ -422,5 +422,12 @@ func (d *driverDefinition) PrepareTest(ctx context.Context, f *framework.Framewo Framework: f, ClientNodeSelection: e2epod.NodeSelection{Name: d.ClientNodeName}, } + + if framework.NodeOSDistroIs("windows") { + e2econfig.ClientNodeSelection.Selector = map[string]string{"kubernetes.io/os": "windows"} + } else { + e2econfig.ClientNodeSelection.Selector = map[string]string{"kubernetes.io/os": "linux"} + } + return e2econfig } diff --git a/test/e2e/storage/testsuites/provisioning.go b/test/e2e/storage/testsuites/provisioning.go index 42aa0b5cc74..0be8e448730 100644 --- a/test/e2e/storage/testsuites/provisioning.go +++ b/test/e2e/storage/testsuites/provisioning.go @@ -165,15 +165,16 @@ func (p *provisioningTestSuite) DefineTests(driver storageframework.TestDriver, }, l.config.Framework.Namespace.Name) framework.Logf("In creating storage class object and pvc objects for driver - sc: %v, pvc: %v, src-pvc: %v", l.sc, l.pvc, l.sourcePVC) l.testCase = &StorageClassTest{ - Client: l.config.Framework.ClientSet, - Timeouts: f.Timeouts, - Claim: l.pvc, - SourceClaim: l.sourcePVC, - Class: l.sc, - Provisioner: l.sc.Provisioner, - ClaimSize: claimSize, - ExpectedSize: claimSize, - VolumeMode: pattern.VolMode, + Client: l.config.Framework.ClientSet, + Timeouts: f.Timeouts, + Claim: l.pvc, + SourceClaim: l.sourcePVC, + Class: l.sc, + Provisioner: l.sc.Provisioner, + ClaimSize: claimSize, + ExpectedSize: claimSize, + VolumeMode: pattern.VolMode, + NodeSelection: l.config.ClientNodeSelection, } } diff --git a/test/e2e/storage/testsuites/topology.go b/test/e2e/storage/testsuites/topology.go index 877bba5f405..f045dc63166 100644 --- a/test/e2e/storage/testsuites/topology.go +++ b/test/e2e/storage/testsuites/topology.go @@ -325,7 +325,7 @@ func (t *topologyTestSuite) createResources(ctx context.Context, cs clientset.In podConfig := e2epod.Config{ NS: l.config.Framework.Namespace.Name, PVCs: []*v1.PersistentVolumeClaim{l.resource.Pvc}, - NodeSelection: e2epod.NodeSelection{Affinity: affinity}, + NodeSelection: e2epod.NodeSelection{Affinity: affinity, Selector: l.config.ClientNodeSelection.Selector}, SeLinuxLabel: e2epod.GetLinuxLabel(), ImageID: e2epod.GetDefaultTestImageID(), }