@@ -293,13 +293,15 @@ class LibvirtQuobyteVolumeDriverTestCase(
293
293
test_volume .LibvirtVolumeBaseTestCase ):
294
294
"""Tests the LibvirtQuobyteVolumeDriver class."""
295
295
296
+ @mock .patch .object (quobyte , 'umount_volume' )
296
297
@mock .patch .object (quobyte , 'validate_volume' )
297
298
@mock .patch .object (quobyte , 'mount_volume' )
298
299
@mock .patch .object (libvirt_utils , 'is_mounted' , return_value = False )
299
300
def test_libvirt_quobyte_driver_mount (self ,
300
301
mock_is_mounted ,
301
302
mock_mount_volume ,
302
- mock_validate_volume
303
+ mock_validate_volume ,
304
+ mock_umount_volume
303
305
):
304
306
mnt_base = '/mnt'
305
307
self .flags (quobyte_mount_point_base = mnt_base , group = 'libvirt' )
@@ -313,6 +315,9 @@ def test_libvirt_quobyte_driver_mount(self,
313
315
314
316
connection_info = {'data' : {'export' : export_string ,
315
317
'name' : self .name }}
318
+ mock_validate_volume .side_effect = [nova_exception .StaleVolumeMount (
319
+ "This shall fail." ), True , True ]
320
+
316
321
libvirt_driver .connect_volume (connection_info , mock .sentinel .instance )
317
322
318
323
conf = libvirt_driver .get_config (connection_info , self .disk_info )
@@ -324,12 +329,12 @@ def test_libvirt_quobyte_driver_mount(self,
324
329
export_mnt_base ,
325
330
mock .ANY )
326
331
mock_validate_volume .assert_called_with (export_mnt_base )
332
+ mock_umount_volume .assert_called_once_with (
333
+ libvirt_driver ._get_mount_path (connection_info ))
327
334
328
- @mock .patch .object (quobyte , 'validate_volume' )
335
+ @mock .patch .object (quobyte , 'validate_volume' , return_value = True )
329
336
@mock .patch .object (quobyte , 'umount_volume' )
330
- @mock .patch .object (libvirt_utils , 'is_mounted' , return_value = True )
331
- def test_libvirt_quobyte_driver_umount (self , mock_is_mounted ,
332
- mock_umount_volume ,
337
+ def test_libvirt_quobyte_driver_umount (self , mock_umount_volume ,
333
338
mock_validate_volume ):
334
339
mnt_base = '/mnt'
335
340
self .flags (quobyte_mount_point_base = mnt_base , group = 'libvirt' )
@@ -352,7 +357,9 @@ def test_libvirt_quobyte_driver_umount(self, mock_is_mounted,
352
357
libvirt_driver .disconnect_volume (connection_info ,
353
358
mock .sentinel .instance )
354
359
355
- mock_validate_volume .assert_called_once_with (export_mnt_base )
360
+ mock_validate_volume .assert_has_calls ([mock .call (export_mnt_base ),
361
+ mock .call (export_mnt_base ),
362
+ mock .call (export_mnt_base )])
356
363
mock_umount_volume .assert_called_once_with (export_mnt_base )
357
364
358
365
@mock .patch .object (quobyte , 'validate_volume' )
@@ -385,15 +392,14 @@ def test_libvirt_quobyte_driver_already_mounted(self,
385
392
mock .sentinel .instance )
386
393
387
394
mock_umount_volume .assert_called_once_with (export_mnt_base )
388
- mock_validate_volume .assert_called_once_with (export_mnt_base )
395
+ mock_validate_volume .assert_has_calls ([mock .call (export_mnt_base ),
396
+ mock .call (export_mnt_base )])
389
397
398
+ @mock .patch .object (quobyte , 'umount_volume' )
390
399
@mock .patch .object (quobyte , 'validate_volume' )
391
400
@mock .patch .object (quobyte , 'mount_volume' )
392
- @mock .patch .object (libvirt_utils , 'is_mounted' , return_value = False )
393
- def test_libvirt_quobyte_driver_qcow2 (self , mock_is_mounted ,
394
- mock_mount_volume ,
395
- mock_validate_volume
396
- ):
401
+ def test_libvirt_quobyte_driver_qcow2 (self , mock_mount_volume ,
402
+ mock_validate_volume , mock_umount ):
397
403
mnt_base = '/mnt'
398
404
self .flags (quobyte_mount_point_base = mnt_base , group = 'libvirt' )
399
405
libvirt_driver = quobyte .LibvirtQuobyteVolumeDriver (self .fake_host )
@@ -408,6 +414,8 @@ def test_libvirt_quobyte_driver_qcow2(self, mock_is_mounted,
408
414
409
415
export_mnt_base = os .path .join (mnt_base ,
410
416
utils .get_hash_str (quobyte_volume ))
417
+ mock_validate_volume .side_effect = [nova_exception .StaleVolumeMount (
418
+ "This shall fail." ), True , True ]
411
419
412
420
libvirt_driver .connect_volume (connection_info , mock .sentinel .instance )
413
421
conf = libvirt_driver .get_config (connection_info , self .disk_info )
@@ -423,6 +431,8 @@ def test_libvirt_quobyte_driver_qcow2(self, mock_is_mounted,
423
431
424
432
libvirt_driver .disconnect_volume (connection_info ,
425
433
mock .sentinel .instance )
434
+ mock_umount .assert_has_calls ([mock .call (export_mnt_base ),
435
+ mock .call (export_mnt_base )])
426
436
427
437
@mock .patch .object (libvirt_utils , 'is_mounted' , return_value = True )
428
438
def test_libvirt_quobyte_driver_mount_non_quobyte_volume (self ,
0 commit comments