@@ -4642,7 +4642,8 @@ def test_serial_console_release_port(
4642
4642
[mock.call(host='127.0.0.1', port=10000),
4643
4643
mock.call(host='127.0.0.1', port=10001)])
4644
4644
4645
- @mock.patch('nova.virt.disk.api.get_disk_size', return_value=0)
4645
+ @mock.patch('nova.virt.disk.api.get_disk_info',
4646
+ return_value=mock.Mock(disk_size=0))
4646
4647
@mock.patch('nova.virt.libvirt.storage.lvm.get_volume_size',
4647
4648
return_value='fake-size')
4648
4649
def test_detach_encrypted_volumes(self, mock_get_volume_size,
@@ -9421,12 +9422,9 @@ def mock_lookup_side_effect(name):
9421
9422
return mock_virDomain
9422
9423
mock_lookup.side_effect = mock_lookup_side_effect
9423
9424
9424
- mock_getsize = mock.Mock()
9425
- mock_getsize.return_value = "10737418240"
9426
- mock_get_virtual_size = mock.Mock()
9427
- mock_get_virtual_size.return_value = "10737418240"
9428
-
9429
- return (mock_getsize, mock_get_virtual_size, mock_lookup)
9425
+ mock_qemu_img_info = mock.Mock(disk_size=10737418240,
9426
+ virtual_size=10737418240)
9427
+ return (mock_qemu_img_info, mock_lookup)
9430
9428
9431
9429
def test_is_shared_block_storage_rbd(self):
9432
9430
self.flags(images_type='rbd', group='libvirt')
@@ -9519,7 +9517,7 @@ def test_is_shared_block_storage_volume_backed(self):
9519
9517
{'connection_info': 'info', 'mount_device': '/dev/vda'}]}
9520
9518
instance = objects.Instance(**self.test_instance)
9521
9519
drvr = libvirt_driver.LibvirtDriver(fake.FakeVirtAPI(), False)
9522
- (mock_getsize, mock_get_virtual_size , mock_lookup) =\
9520
+ (mock_qemu_img_info , mock_lookup) =\
9523
9521
self._is_shared_block_storage_test_create_mocks(disks)
9524
9522
data = objects.LibvirtLiveMigrateData(is_volume_backed=True,
9525
9523
is_shared_instance_path=False)
@@ -9543,21 +9541,18 @@ def test_is_shared_block_storage_volume_backed_with_disk(self):
9543
9541
{'connection_info': 'info', 'mount_device': '/dev/vda'}]}
9544
9542
instance = objects.Instance(**self.test_instance)
9545
9543
drvr = libvirt_driver.LibvirtDriver(fake.FakeVirtAPI(), False)
9546
- (mock_getsize, mock_get_virtual_size , mock_lookup) =\
9544
+ (mock_qemu_img_info , mock_lookup) =\
9547
9545
self._is_shared_block_storage_test_create_mocks(disks)
9548
9546
data = objects.LibvirtLiveMigrateData(is_volume_backed=True,
9549
9547
is_shared_instance_path=False)
9550
9548
with test.nested(
9551
9549
mock.patch.object(libvirt_driver.disk_api,
9552
- 'get_allocated_disk_size', mock_getsize),
9553
- mock.patch.object(libvirt_driver.disk_api,
9554
- 'get_disk_size', mock_get_virtual_size),
9550
+ 'get_disk_info', mock_qemu_img_info),
9555
9551
mock.patch.object(host.Host, '_get_domain', mock_lookup)):
9556
9552
self.assertFalse(drvr._is_shared_block_storage(
9557
9553
instance, data,
9558
9554
block_device_info = bdi))
9559
- mock_getsize.assert_called_once_with('/instance/disk.local')
9560
- mock_get_virtual_size.assert_called_once_with('/instance/disk.local')
9555
+ mock_qemu_img_info.assert_called_once_with('/instance/disk.local')
9561
9556
mock_lookup.assert_called_once_with(instance)
9562
9557
9563
9558
def test_is_shared_block_storage_nfs(self):
@@ -12370,12 +12365,8 @@ def test_pre_live_migration_with_perf_events(self):
12370
12365
migrate_data=migrate_data)
12371
12366
self.assertEqual(['cmt'], res.supported_perf_events)
12372
12367
12373
- @mock.patch('nova.virt.disk.api.get_disk_size',
12374
- side_effect=[10737418240, 21474836480])
12375
- @mock.patch('nova.virt.disk.api.get_allocated_disk_size',
12376
- side_effect=[10737418240, 3328599655])
12377
- def test_get_instance_disk_info_works_correctly(self, mock_get_alloc,
12378
- mock_get_disk_size):
12368
+ @mock.patch('nova.virt.disk.api.get_disk_info')
12369
+ def test_get_instance_disk_info_works_correctly(self, mock_qemu_img_info):
12379
12370
# Test data
12380
12371
instance = objects.Instance(**self.test_instance)
12381
12372
dummyxml = ("<domain type='kvm'><name>instance-0000000a</name>"
@@ -12392,6 +12383,11 @@ def test_get_instance_disk_info_works_correctly(self, mock_get_alloc,
12392
12383
vdmock = mock.Mock(autospec=fakelibvirt.virDomain)
12393
12384
vdmock.XMLDesc.return_value = dummyxml
12394
12385
12386
+ mock_qemu_img_info.side_effect = [
12387
+ mock.Mock(disk_size=10737418240, virtual_size=10737418240),
12388
+ mock.Mock(disk_size=3328599655, virtual_size=21474836480)
12389
+ ]
12390
+
12395
12391
def fake_lookup(_uuid):
12396
12392
if _uuid == instance.uuid:
12397
12393
return vdmock
@@ -12416,12 +12412,9 @@ def fake_lookup(_uuid):
12416
12412
self.assertEqual(info[1]['over_committed_disk_size'], 18146236825)
12417
12413
12418
12414
vdmock.XMLDesc.assert_called_once_with(0)
12419
- mock_get_alloc.assert_has_calls([mock.call('/test/disk'),
12420
- mock.call('/test/disk.local')])
12421
- self.assertEqual(2, mock_get_alloc.call_count)
12422
- mock_get_disk_size.assert_has_calls([mock.call('/test/disk'),
12415
+ mock_qemu_img_info.assert_has_calls([mock.call('/test/disk'),
12423
12416
mock.call('/test/disk.local')])
12424
- self.assertEqual(2, mock_get_disk_size .call_count)
12417
+ self.assertEqual(2, mock_qemu_img_info .call_count)
12425
12418
12426
12419
def test_post_live_migration(self):
12427
12420
vol = {'block_device_mapping': [
@@ -12508,12 +12501,9 @@ def _test(mock_get_bdms, mock_attachment_get, mock_disconnect):
12508
12501
instance)
12509
12502
_test()
12510
12503
12511
- @mock.patch('nova.virt.disk.api.get_disk_size',
12512
- side_effect=[10737418240, 21474836480])
12513
- @mock.patch('nova.virt.disk.api.get_allocated_disk_size',
12514
- side_effect=[10737418240, 3328599655])
12504
+ @mock.patch('nova.virt.disk.api.get_disk_info')
12515
12505
def test_get_instance_disk_info_excludes_volumes(
12516
- self, mock_get_alloc, mock_get_disk_size ):
12506
+ self, mock_qemu_img_info ):
12517
12507
# Test data
12518
12508
instance = objects.Instance(**self.test_instance)
12519
12509
dummyxml = ("<domain type='kvm'><name>instance-0000000a</name>"
@@ -12536,6 +12526,11 @@ def test_get_instance_disk_info_excludes_volumes(
12536
12526
vdmock = mock.Mock(autospec=fakelibvirt.virDomain)
12537
12527
vdmock.XMLDesc.return_value = dummyxml
12538
12528
12529
+ mock_qemu_img_info.side_effect = [
12530
+ mock.Mock(disk_size=10737418240, virtual_size=10737418240),
12531
+ mock.Mock(disk_size=3328599655, virtual_size=21474836480)
12532
+ ]
12533
+
12539
12534
def fake_lookup(_uuid):
12540
12535
if _uuid == instance.uuid:
12541
12536
return vdmock
@@ -12565,19 +12560,12 @@ def fake_lookup(_uuid):
12565
12560
self.assertEqual(info[1]['over_committed_disk_size'], 18146236825)
12566
12561
12567
12562
vdmock.XMLDesc.assert_called_once_with(0)
12568
- mock_get_alloc.assert_has_calls([mock.call('/test/disk'),
12569
- mock.call('/test/disk.local')])
12570
- self.assertEqual(2, mock_get_alloc.call_count)
12571
- mock_get_disk_size.assert_has_calls([mock.call('/test/disk'),
12563
+ mock_qemu_img_info.assert_has_calls([mock.call('/test/disk'),
12572
12564
mock.call('/test/disk.local')])
12573
- self.assertEqual(2, mock_get_disk_size .call_count)
12565
+ self.assertEqual(2, mock_qemu_img_info .call_count)
12574
12566
12575
- @mock.patch('nova.virt.disk.api.get_disk_size',
12576
- return_value=10737418240)
12577
- @mock.patch('nova.virt.disk.api.get_allocated_disk_size',
12578
- return_value=10737418240)
12579
- def test_get_instance_disk_info_no_bdinfo_passed(
12580
- self, mock_get_alloc, mock_get_disk_size):
12567
+ @mock.patch('nova.virt.disk.api.get_disk_info')
12568
+ def test_get_instance_disk_info_no_bdinfo_passed(self, mock_qemu_img_info):
12581
12569
# NOTE(ndipanov): _get_disk_overcomitted_size_total calls this method
12582
12570
# without access to Nova's block device information. We want to make
12583
12571
# sure that we guess volumes mostly correctly in that case as well
@@ -12598,6 +12586,9 @@ def test_get_instance_disk_info_no_bdinfo_passed(
12598
12586
vdmock = mock.Mock(autospec=fakelibvirt.virDomain)
12599
12587
vdmock.XMLDesc.return_value = dummyxml
12600
12588
12589
+ mock_qemu_img_info.return_value = mock.Mock(disk_size=10737418240,
12590
+ virtual_size=10737418240)
12591
+
12601
12592
def fake_lookup(_uuid):
12602
12593
if _uuid == instance.uuid:
12603
12594
return vdmock
@@ -12616,8 +12607,7 @@ def fake_lookup(_uuid):
12616
12607
self.assertEqual(info[0]['over_committed_disk_size'], 0)
12617
12608
12618
12609
vdmock.XMLDesc.assert_called_once_with(0)
12619
- mock_get_alloc.assert_called_once_with(path)
12620
- mock_get_disk_size.assert_called_once_with(path)
12610
+ mock_qemu_img_info.assert_called_once_with(path)
12621
12611
12622
12612
def test_spawn_with_network_info(self):
12623
12613
def fake_getLibVersion():
0 commit comments