Merge "SMBFS: Use share mountpoint when fetching capacity info"

This commit is contained in:
Jenkins 2017-06-29 14:03:45 +00:00 committed by Gerrit Code Review
commit 429db9d9f3
2 changed files with 15 additions and 3 deletions
cinder
tests/unit/windows
volume/drivers/windows

@ -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)

@ -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 '