diff --git a/cinder/tests/unit/windows/test_smbfs.py b/cinder/tests/unit/windows/test_smbfs.py index 4a49e92a285..ab7e76b50c5 100644 --- a/cinder/tests/unit/windows/test_smbfs.py +++ b/cinder/tests/unit/windows/test_smbfs.py @@ -74,6 +74,7 @@ class WindowsSmbFsTestCase(test.TestCase): return_value=self._FAKE_MNT_POINT) self._smbfs_driver.base = self._FAKE_MNT_BASE + self._diskutils = self._smbfs_driver._diskutils self._vhdutils = self._smbfs_driver._vhdutils self.volume = self._simple_volume() @@ -451,8 +452,10 @@ class WindowsSmbFsTestCase(test.TestCase): self._FAKE_SHARE, self._FAKE_SHARE_OPTS) def test_get_capacity_info(self): - self._smbfs_driver._smbutils.get_share_capacity_info.return_value = ( + self._diskutils.get_disk_capacity.return_value = ( self._FAKE_TOTAL_SIZE, self._FAKE_TOTAL_AVAILABLE) + self._smbfs_driver._get_mount_point_for_share = mock.Mock( + return_value=mock.sentinel.mnt_point) self._smbfs_driver._get_total_allocated = mock.Mock( return_value=self._FAKE_TOTAL_ALLOCATED) @@ -462,6 +465,13 @@ class WindowsSmbFsTestCase(test.TestCase): self._FAKE_TOTAL_ALLOCATED]] self.assertEqual(expected_ret_val, ret_val) + self._smbfs_driver._get_mount_point_for_share.assert_called_once_with( + self._FAKE_SHARE) + self._diskutils.get_disk_capacity.assert_called_once_with( + mock.sentinel.mnt_point) + self._smbfs_driver._get_total_allocated.assert_called_once_with( + self._FAKE_SHARE) + def _test_get_img_info(self, backing_file=None): self._smbfs_driver._vhdutils.get_vhd_parent_path.return_value = ( backing_file) diff --git a/cinder/volume/drivers/windows/smbfs.py b/cinder/volume/drivers/windows/smbfs.py index 097dae5e2e0..f44b0922acc 100644 --- a/cinder/volume/drivers/windows/smbfs.py +++ b/cinder/volume/drivers/windows/smbfs.py @@ -121,6 +121,7 @@ class WindowsSmbfsDriver(remotefs_drv.RemoteFSPoolMixin, self._vhdutils = utilsfactory.get_vhdutils() self._pathutils = utilsfactory.get_pathutils() self._smbutils = utilsfactory.get_smbutils() + self._diskutils = utilsfactory.get_diskutils() def do_setup(self, context): self._check_os_platform() @@ -343,8 +344,9 @@ class WindowsSmbfsDriver(remotefs_drv.RemoteFSPoolMixin, :param smbfs_share: example //172.18.194.100/var/smbfs """ - total_size, total_available = self._smbutils.get_share_capacity_info( - smbfs_share) + mount_point = self._get_mount_point_for_share(smbfs_share) + total_size, total_available = self._diskutils.get_disk_capacity( + mount_point) total_allocated = self._get_total_allocated(smbfs_share) return_value = [total_size, total_available, total_allocated] LOG.info('Smb share %(share)s Total size %(size)s '