From 79b9cff9483b41575a905d59dfff721ecbbf2dbf Mon Sep 17 00:00:00 2001 From: "Dr. Stefan Schimanski" Date: Fri, 13 Sep 2019 10:02:16 +0200 Subject: [PATCH] Fix TestBlockMapperMapDeviceNotSupportAttach informer sync race --- pkg/volume/csi/csi_block_test.go | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/pkg/volume/csi/csi_block_test.go b/pkg/volume/csi/csi_block_test.go index a63988c2d5d..b41bd0301ba 100644 --- a/pkg/volume/csi/csi_block_test.go +++ b/pkg/volume/csi/csi_block_test.go @@ -358,8 +358,7 @@ func TestBlockMapperMapDevice(t *testing.T) { func TestBlockMapperMapDeviceNotSupportAttach(t *testing.T) { defer featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, features.CSIBlockVolume, true)() defer featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, features.CSIDriverRegistry, true)() - plug, tmpDir := newTestPlugin(t, nil) - defer os.RemoveAll(tmpDir) + fakeClient := fakeclient.NewSimpleClientset() attachRequired := false fakeDriver := &v1beta1.CSIDriver{ @@ -370,17 +369,23 @@ func TestBlockMapperMapDeviceNotSupportAttach(t *testing.T) { AttachRequired: &attachRequired, }, } - _, err := plug.host.GetKubeClient().StorageV1beta1().CSIDrivers().Create(fakeDriver) + _, err := fakeClient.StorageV1beta1().CSIDrivers().Create(fakeDriver) if err != nil { t.Fatalf("Failed to create a fakeDriver: %v", err) } + // after the driver is created, create the plugin. newTestPlugin waits for the informer to sync, + // such that csiMapper.SetUpDevice below sees the VolumeAttachment object in the lister. + + plug, tmpDir := newTestPlugin(t, fakeClient) + defer os.RemoveAll(tmpDir) + host := volumetest.NewFakeVolumeHostWithCSINodeName( tmpDir, fakeClient, nil, "fakeNode", - nil, + plug.csiDriverLister, ) plug.host = host csiMapper, _, _, err := prepareBlockMapperTest(plug, "test-pv", t)