Skip to content

Commit 300ca89

Browse files
authored
Merge pull request kubernetes#85426 from davidz627/fix/testCtx
Plumb test state through to fake volume host creation for error handling
2 parents 81d0007 + 21f7060 commit 300ca89

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

50 files changed

+175
-178
lines changed

pkg/kubelet/volumemanager/cache/desired_state_of_world_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,7 @@ func Test_AddPodToVolume_Positive_ExistingPodExistingVolume(t *testing.T) {
122122
// Verities generated names are different for different pods if volume is not device mountble and attachable
123123
func Test_AddPodToVolume_Positive_NamesForDifferentPodsAndDifferentVolumes(t *testing.T) {
124124
// Arrange
125-
fakeVolumeHost := volumetesting.NewFakeVolumeHost(
125+
fakeVolumeHost := volumetesting.NewFakeVolumeHost(t,
126126
"", /* rootDir */
127127
nil, /* kubeClient */
128128
nil, /* plugins */

pkg/kubelet/volumemanager/volume_manager_test.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ func TestGetMountedVolumesForPodAndGetVolumesInUse(t *testing.T) {
111111
node, pod, pv, claim := createObjects(test.pvMode, test.podMode)
112112
kubeClient := fake.NewSimpleClientset(node, pod, pv, claim)
113113

114-
manager := newTestVolumeManager(tmpDir, podManager, kubeClient)
114+
manager := newTestVolumeManager(t, tmpDir, podManager, kubeClient)
115115

116116
stopCh := runVolumeManager(manager)
117117
defer close(stopCh)
@@ -172,7 +172,7 @@ func TestInitialPendingVolumesForPodAndGetVolumesInUse(t *testing.T) {
172172

173173
kubeClient := fake.NewSimpleClientset(node, pod, pv, claim)
174174

175-
manager := newTestVolumeManager(tmpDir, podManager, kubeClient)
175+
manager := newTestVolumeManager(t, tmpDir, podManager, kubeClient)
176176

177177
stopCh := runVolumeManager(manager)
178178
defer close(stopCh)
@@ -261,7 +261,7 @@ func TestGetExtraSupplementalGroupsForPod(t *testing.T) {
261261
}
262262
kubeClient := fake.NewSimpleClientset(node, pod, pv, claim)
263263

264-
manager := newTestVolumeManager(tmpDir, podManager, kubeClient)
264+
manager := newTestVolumeManager(t, tmpDir, podManager, kubeClient)
265265

266266
stopCh := runVolumeManager(manager)
267267
defer close(stopCh)
@@ -287,12 +287,12 @@ func TestGetExtraSupplementalGroupsForPod(t *testing.T) {
287287
}
288288
}
289289

290-
func newTestVolumeManager(tmpDir string, podManager kubepod.Manager, kubeClient clientset.Interface) VolumeManager {
290+
func newTestVolumeManager(t *testing.T, tmpDir string, podManager kubepod.Manager, kubeClient clientset.Interface) VolumeManager {
291291
plug := &volumetest.FakeVolumePlugin{PluginName: "fake", Host: nil}
292292
fakeRecorder := &record.FakeRecorder{}
293293
plugMgr := &volume.VolumePluginMgr{}
294294
// TODO (#51147) inject mock prober
295-
plugMgr.InitPlugins([]volume.VolumePlugin{plug}, nil /* prober */, volumetest.NewFakeVolumeHost(tmpDir, kubeClient, nil))
295+
plugMgr.InitPlugins([]volume.VolumePlugin{plug}, nil /* prober */, volumetest.NewFakeVolumeHost(t, tmpDir, kubeClient, nil))
296296
statusManager := status.NewManager(kubeClient, podManager, &statustest.FakePodDeletionSafetyProvider{})
297297
fakePathHandler := volumetest.NewBlockVolumePathHandler()
298298
vm := NewVolumeManager(

pkg/volume/awsebs/attacher_test.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ import (
3333
)
3434

3535
func TestGetVolumeName_Volume(t *testing.T) {
36-
plugin := newPlugin()
36+
plugin := newPlugin(t)
3737
name := aws.KubernetesVolumeID("my-aws-volume")
3838
spec := createVolSpec(name, false)
3939

@@ -47,7 +47,7 @@ func TestGetVolumeName_Volume(t *testing.T) {
4747
}
4848

4949
func TestGetVolumeName_PersistentVolume(t *testing.T) {
50-
plugin := newPlugin()
50+
plugin := newPlugin(t)
5151
name := aws.KubernetesVolumeID("my-aws-pv")
5252
spec := createPVSpec(name, true)
5353

@@ -142,8 +142,8 @@ func TestAttachDetach(t *testing.T) {
142142

143143
// newPlugin creates a new gcePersistentDiskPlugin with fake cloud, NewAttacher
144144
// and NewDetacher won't work.
145-
func newPlugin() *awsElasticBlockStorePlugin {
146-
host := volumetest.NewFakeVolumeHost("/tmp", nil, nil)
145+
func newPlugin(t *testing.T) *awsElasticBlockStorePlugin {
146+
host := volumetest.NewFakeVolumeHost(t, "/tmp", nil, nil)
147147
plugins := ProbeVolumePlugins()
148148
plugin := plugins[0]
149149
plugin.Init(host)

pkg/volume/awsebs/aws_ebs_block_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ func TestGetVolumeSpecFromGlobalMapPath(t *testing.T) {
5252
expectedGlobalPath := filepath.Join(tmpVDir, testGlobalPath)
5353

5454
plugMgr := volume.VolumePluginMgr{}
55-
plugMgr.InitPlugins(ProbeVolumePlugins(), nil /* prober */, volumetest.NewFakeVolumeHost(tmpVDir, nil, nil))
55+
plugMgr.InitPlugins(ProbeVolumePlugins(), nil /* prober */, volumetest.NewFakeVolumeHost(t, tmpVDir, nil, nil))
5656
plug, err := plugMgr.FindMapperPluginByName(awsElasticBlockStorePluginName)
5757
if err != nil {
5858
os.RemoveAll(tmpVDir)
@@ -120,7 +120,7 @@ func TestGetPodAndPluginMapPaths(t *testing.T) {
120120

121121
spec := getTestVolume(false, true /*isBlock*/)
122122
plugMgr := volume.VolumePluginMgr{}
123-
plugMgr.InitPlugins(ProbeVolumePlugins(), nil /* prober */, volumetest.NewFakeVolumeHost(tmpVDir, nil, nil))
123+
plugMgr.InitPlugins(ProbeVolumePlugins(), nil /* prober */, volumetest.NewFakeVolumeHost(t, tmpVDir, nil, nil))
124124
plug, err := plugMgr.FindMapperPluginByName(awsElasticBlockStorePluginName)
125125
if err != nil {
126126
os.RemoveAll(tmpVDir)

pkg/volume/awsebs/aws_ebs_test.go

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ func TestCanSupport(t *testing.T) {
4646
}
4747
defer os.RemoveAll(tmpDir)
4848
plugMgr := volume.VolumePluginMgr{}
49-
plugMgr.InitPlugins(ProbeVolumePlugins(), nil /* prober */, volumetest.NewFakeVolumeHost(tmpDir, nil, nil))
49+
plugMgr.InitPlugins(ProbeVolumePlugins(), nil /* prober */, volumetest.NewFakeVolumeHost(t, tmpDir, nil, nil))
5050

5151
plug, err := plugMgr.FindPluginByName("kubernetes.io/aws-ebs")
5252
if err != nil {
@@ -70,7 +70,7 @@ func TestGetAccessModes(t *testing.T) {
7070
}
7171
defer os.RemoveAll(tmpDir)
7272
plugMgr := volume.VolumePluginMgr{}
73-
plugMgr.InitPlugins(ProbeVolumePlugins(), nil /* prober */, volumetest.NewFakeVolumeHost(tmpDir, nil, nil))
73+
plugMgr.InitPlugins(ProbeVolumePlugins(), nil /* prober */, volumetest.NewFakeVolumeHost(t, tmpDir, nil, nil))
7474

7575
plug, err := plugMgr.FindPersistentPluginByName("kubernetes.io/aws-ebs")
7676
if err != nil {
@@ -110,7 +110,7 @@ func TestPlugin(t *testing.T) {
110110
}
111111
defer os.RemoveAll(tmpDir)
112112
plugMgr := volume.VolumePluginMgr{}
113-
plugMgr.InitPlugins(ProbeVolumePlugins(), nil /* prober */, volumetest.NewFakeVolumeHost(tmpDir, nil, nil))
113+
plugMgr.InitPlugins(ProbeVolumePlugins(), nil /* prober */, volumetest.NewFakeVolumeHost(t, tmpDir, nil, nil))
114114

115115
plug, err := plugMgr.FindPluginByName("kubernetes.io/aws-ebs")
116116
if err != nil {
@@ -279,7 +279,7 @@ func TestPersistentClaimReadOnlyFlag(t *testing.T) {
279279
}
280280
defer os.RemoveAll(tmpDir)
281281
plugMgr := volume.VolumePluginMgr{}
282-
plugMgr.InitPlugins(ProbeVolumePlugins(), nil /* prober */, volumetest.NewFakeVolumeHost(tmpDir, clientset, nil))
282+
plugMgr.InitPlugins(ProbeVolumePlugins(), nil /* prober */, volumetest.NewFakeVolumeHost(t, tmpDir, clientset, nil))
283283
plug, _ := plugMgr.FindPluginByName(awsElasticBlockStorePluginName)
284284

285285
// readOnly bool is supplied by persistent-claim volume source when its mounter creates other volumes
@@ -299,7 +299,7 @@ func TestMounterAndUnmounterTypeAssert(t *testing.T) {
299299
}
300300
defer os.RemoveAll(tmpDir)
301301
plugMgr := volume.VolumePluginMgr{}
302-
plugMgr.InitPlugins(ProbeVolumePlugins(), nil /* prober */, volumetest.NewFakeVolumeHost(tmpDir, nil, nil))
302+
plugMgr.InitPlugins(ProbeVolumePlugins(), nil /* prober */, volumetest.NewFakeVolumeHost(t, tmpDir, nil, nil))
303303

304304
plug, err := plugMgr.FindPluginByName("kubernetes.io/aws-ebs")
305305
if err != nil {
@@ -339,7 +339,7 @@ func TestMountOptions(t *testing.T) {
339339
}
340340
defer os.RemoveAll(tmpDir)
341341
plugMgr := volume.VolumePluginMgr{}
342-
plugMgr.InitPlugins(ProbeVolumePlugins(), nil /* prober */, volumetest.NewFakeVolumeHost(tmpDir, nil, nil))
342+
plugMgr.InitPlugins(ProbeVolumePlugins(), nil /* prober */, volumetest.NewFakeVolumeHost(t, tmpDir, nil, nil))
343343

344344
plug, err := plugMgr.FindPluginByName("kubernetes.io/aws-ebs")
345345
if err != nil {

pkg/volume/azure_dd/azure_dd_block_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ func TestGetPodAndPluginMapPaths(t *testing.T) {
109109

110110
spec := getTestVolume(false, tmpVDir, true /*isBlock*/)
111111
plugMgr := volume.VolumePluginMgr{}
112-
plugMgr.InitPlugins(ProbeVolumePlugins(), nil /* prober */, volumetest.NewFakeVolumeHost(tmpVDir, nil, nil))
112+
plugMgr.InitPlugins(ProbeVolumePlugins(), nil /* prober */, volumetest.NewFakeVolumeHost(t, tmpVDir, nil, nil))
113113
plug, err := plugMgr.FindMapperPluginByName(azureDataDiskPluginName)
114114
if err != nil {
115115
os.RemoveAll(tmpVDir)

pkg/volume/azure_dd/azure_dd_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ func TestCanSupport(t *testing.T) {
3737
}
3838
defer os.RemoveAll(tmpDir)
3939
plugMgr := volume.VolumePluginMgr{}
40-
plugMgr.InitPlugins(ProbeVolumePlugins(), nil /* prober */, volumetest.NewFakeVolumeHost(tmpDir, nil, nil))
40+
plugMgr.InitPlugins(ProbeVolumePlugins(), nil /* prober */, volumetest.NewFakeVolumeHost(t, tmpDir, nil, nil))
4141

4242
plug, err := plugMgr.FindPluginByName(azureDataDiskPluginName)
4343
if err != nil {

pkg/volume/azure_file/azure_file_test.go

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ func TestCanSupport(t *testing.T) {
4747
}
4848
defer os.RemoveAll(tmpDir)
4949
plugMgr := volume.VolumePluginMgr{}
50-
plugMgr.InitPlugins(ProbeVolumePlugins(), nil /* prober */, volumetest.NewFakeVolumeHost(tmpDir, nil, nil))
50+
plugMgr.InitPlugins(ProbeVolumePlugins(), nil /* prober */, volumetest.NewFakeVolumeHost(t, tmpDir, nil, nil))
5151

5252
plug, err := plugMgr.FindPluginByName("kubernetes.io/azure-file")
5353
if err != nil {
@@ -71,7 +71,7 @@ func TestGetAccessModes(t *testing.T) {
7171
}
7272
defer os.RemoveAll(tmpDir)
7373
plugMgr := volume.VolumePluginMgr{}
74-
plugMgr.InitPlugins(ProbeVolumePlugins(), nil /* prober */, volumetest.NewFakeVolumeHost(tmpDir, nil, nil))
74+
plugMgr.InitPlugins(ProbeVolumePlugins(), nil /* prober */, volumetest.NewFakeVolumeHost(t, tmpDir, nil, nil))
7575

7676
plug, err := plugMgr.FindPersistentPluginByName("kubernetes.io/azure-file")
7777
if err != nil {
@@ -106,20 +106,20 @@ func getTestTempDir(t *testing.T) string {
106106
func TestPluginAzureCloudProvider(t *testing.T) {
107107
tmpDir := getTestTempDir(t)
108108
defer os.RemoveAll(tmpDir)
109-
testPlugin(t, tmpDir, volumetest.NewFakeVolumeHostWithCloudProvider(tmpDir, nil, nil, getAzureTestCloud(t)))
109+
testPlugin(t, tmpDir, volumetest.NewFakeVolumeHostWithCloudProvider(t, tmpDir, nil, nil, getAzureTestCloud(t)))
110110
}
111111

112112
func TestPluginWithoutCloudProvider(t *testing.T) {
113113
tmpDir := getTestTempDir(t)
114114
defer os.RemoveAll(tmpDir)
115-
testPlugin(t, tmpDir, volumetest.NewFakeVolumeHost(tmpDir, nil, nil))
115+
testPlugin(t, tmpDir, volumetest.NewFakeVolumeHost(t, tmpDir, nil, nil))
116116
}
117117

118118
func TestPluginWithOtherCloudProvider(t *testing.T) {
119119
tmpDir := getTestTempDir(t)
120120
defer os.RemoveAll(tmpDir)
121121
cloud := &fakecloud.Cloud{}
122-
testPlugin(t, tmpDir, volumetest.NewFakeVolumeHostWithCloudProvider(tmpDir, nil, nil, cloud))
122+
testPlugin(t, tmpDir, volumetest.NewFakeVolumeHostWithCloudProvider(t, tmpDir, nil, nil, cloud))
123123
}
124124

125125
func testPlugin(t *testing.T, tmpDir string, volumeHost volume.VolumeHost) {
@@ -214,7 +214,7 @@ func TestPersistentClaimReadOnlyFlag(t *testing.T) {
214214
client := fake.NewSimpleClientset(pv, claim)
215215

216216
plugMgr := volume.VolumePluginMgr{}
217-
plugMgr.InitPlugins(ProbeVolumePlugins(), nil /* prober */, volumetest.NewFakeVolumeHost("/tmp/fake", client, nil))
217+
plugMgr.InitPlugins(ProbeVolumePlugins(), nil /* prober */, volumetest.NewFakeVolumeHost(t, "/tmp/fake", client, nil))
218218
plug, _ := plugMgr.FindPluginByName(azureFilePluginName)
219219

220220
// readOnly bool is supplied by persistent-claim volume source when its mounter creates other volumes
@@ -246,7 +246,7 @@ func TestMounterAndUnmounterTypeAssert(t *testing.T) {
246246
}
247247
defer os.RemoveAll(tmpDir)
248248
plugMgr := volume.VolumePluginMgr{}
249-
plugMgr.InitPlugins(ProbeVolumePlugins(), nil /* prober */, volumetest.NewFakeVolumeHost(tmpDir, nil, nil))
249+
plugMgr.InitPlugins(ProbeVolumePlugins(), nil /* prober */, volumetest.NewFakeVolumeHost(t, tmpDir, nil, nil))
250250

251251
plug, err := plugMgr.FindPluginByName("kubernetes.io/azure-file")
252252
if err != nil {

pkg/volume/cephfs/cephfs_test.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ func TestCanSupport(t *testing.T) {
3737
}
3838
defer os.RemoveAll(tmpDir)
3939
plugMgr := volume.VolumePluginMgr{}
40-
plugMgr.InitPlugins(ProbeVolumePlugins(), nil /* prober */, volumetest.NewFakeVolumeHost(tmpDir, nil, nil))
40+
plugMgr.InitPlugins(ProbeVolumePlugins(), nil /* prober */, volumetest.NewFakeVolumeHost(t, tmpDir, nil, nil))
4141
plug, err := plugMgr.FindPluginByName("kubernetes.io/cephfs")
4242
if err != nil {
4343
t.Errorf("Can't find the plugin by name")
@@ -60,7 +60,7 @@ func TestPlugin(t *testing.T) {
6060
}
6161
defer os.RemoveAll(tmpDir)
6262
plugMgr := volume.VolumePluginMgr{}
63-
plugMgr.InitPlugins(ProbeVolumePlugins(), nil /* prober */, volumetest.NewFakeVolumeHost(tmpDir, nil, nil))
63+
plugMgr.InitPlugins(ProbeVolumePlugins(), nil /* prober */, volumetest.NewFakeVolumeHost(t, tmpDir, nil, nil))
6464
plug, err := plugMgr.FindPluginByName("kubernetes.io/cephfs")
6565
if err != nil {
6666
t.Errorf("Can't find the plugin by name")
@@ -122,7 +122,7 @@ func TestConstructVolumeSpec(t *testing.T) {
122122
}
123123
defer os.RemoveAll(tmpDir)
124124
plugMgr := volume.VolumePluginMgr{}
125-
plugMgr.InitPlugins(ProbeVolumePlugins(), nil /* prober */, volumetest.NewFakeVolumeHost(tmpDir, nil, nil))
125+
plugMgr.InitPlugins(ProbeVolumePlugins(), nil /* prober */, volumetest.NewFakeVolumeHost(t, tmpDir, nil, nil))
126126
plug, err := plugMgr.FindPluginByName("kubernetes.io/cephfs")
127127
if err != nil {
128128
t.Errorf("can't find cephfs plugin by name")
@@ -236,7 +236,7 @@ func TestGetAccessModes(t *testing.T) {
236236
defer os.RemoveAll(tmpDir)
237237

238238
plugMgr := volume.VolumePluginMgr{}
239-
plugMgr.InitPlugins(ProbeVolumePlugins(), nil /* prober */, volumetest.NewFakeVolumeHost(tmpDir, nil, nil))
239+
plugMgr.InitPlugins(ProbeVolumePlugins(), nil /* prober */, volumetest.NewFakeVolumeHost(t, tmpDir, nil, nil))
240240

241241
plug, err := plugMgr.FindPersistentPluginByName("kubernetes.io/cephfs")
242242
if err != nil {

pkg/volume/cinder/attacher_test.go

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ import (
2424
"reflect"
2525
"testing"
2626

27-
"k8s.io/api/core/v1"
27+
v1 "k8s.io/api/core/v1"
2828
"k8s.io/apimachinery/pkg/api/resource"
2929
cloudprovider "k8s.io/cloud-provider"
3030
"k8s.io/kubernetes/pkg/volume"
@@ -46,7 +46,7 @@ var attachStatus = "Attach"
4646
var detachStatus = "Detach"
4747

4848
func TestGetDeviceName_Volume(t *testing.T) {
49-
plugin := newPlugin()
49+
plugin := newPlugin(t)
5050
name := "my-cinder-volume"
5151
spec := createVolSpec(name, false)
5252

@@ -60,7 +60,7 @@ func TestGetDeviceName_Volume(t *testing.T) {
6060
}
6161

6262
func TestGetDeviceName_PersistentVolume(t *testing.T) {
63-
plugin := newPlugin()
63+
plugin := newPlugin(t)
6464
name := "my-cinder-pv"
6565
spec := createPVSpec(name, true)
6666

@@ -77,7 +77,7 @@ func TestGetDeviceMountPath(t *testing.T) {
7777
name := "cinder-volume-id"
7878
spec := createVolSpec(name, false)
7979
rootDir := "/var/lib/kubelet/"
80-
host := volumetest.NewFakeVolumeHost(rootDir, nil, nil)
80+
host := volumetest.NewFakeVolumeHost(t, rootDir, nil, nil)
8181

8282
attacher := &cinderDiskAttacher{
8383
host: host,
@@ -355,8 +355,8 @@ func serializeAttachments(attachments map[*volume.Spec]bool) string {
355355

356356
// newPlugin creates a new gcePersistentDiskPlugin with fake cloud, NewAttacher
357357
// and NewDetacher won't work.
358-
func newPlugin() *cinderPlugin {
359-
host := volumetest.NewFakeVolumeHost("/tmp", nil, nil)
358+
func newPlugin(t *testing.T) *cinderPlugin {
359+
host := volumetest.NewFakeVolumeHost(t, "/tmp", nil, nil)
360360
plugins := ProbeVolumePlugins()
361361
plugin := plugins[0]
362362
plugin.Init(host)

0 commit comments

Comments
 (0)