Merge "Check for device node availability before mkfs"
This commit is contained in:
commit
4f14e66781
|
@ -250,8 +250,15 @@ class GenericShareDriver(driver.ExecuteMixin, driver.ShareDriver):
|
|||
},
|
||||
}
|
||||
|
||||
@utils.retry(exception.ProcessExecutionError, backoff_rate=1)
|
||||
def _is_device_file_available(self, server_details, volume):
|
||||
"""Checks whether the device file is available"""
|
||||
command = ['sudo', 'test', '-b', volume['mountpoint']]
|
||||
self._ssh_exec(server_details, command)
|
||||
|
||||
def _format_device(self, server_details, volume):
|
||||
"""Formats device attached to the service vm."""
|
||||
self._is_device_file_available(server_details, volume)
|
||||
command = ['sudo', 'mkfs.%s' % self.configuration.share_volume_fstype,
|
||||
volume['mountpoint']]
|
||||
self._ssh_exec(server_details, command)
|
||||
|
|
|
@ -369,11 +369,26 @@ class GenericShareDriverTestCase(test.TestCase):
|
|||
self.assertRaises(exception.InvalidShare, self._driver.create_share,
|
||||
self._context, self.share, share_server=self.server)
|
||||
|
||||
def test_is_device_file_available(self):
|
||||
volume = {'mountpoint': 'fake_mount_point'}
|
||||
self.mock_object(self._driver, '_ssh_exec',
|
||||
mock.Mock(return_value=None))
|
||||
|
||||
self._driver._is_device_file_available(self.server, volume)
|
||||
|
||||
self._driver._ssh_exec.assert_called_once_with(
|
||||
self.server, ['sudo', 'test', '-b', volume['mountpoint']])
|
||||
|
||||
def test_format_device(self):
|
||||
volume = {'mountpoint': 'fake_mount_point'}
|
||||
self.mock_object(self._driver, '_ssh_exec',
|
||||
mock.Mock(return_value=('', '')))
|
||||
self.mock_object(self._driver, '_is_device_file_available')
|
||||
|
||||
self._driver._format_device(self.server, volume)
|
||||
|
||||
self._driver._is_device_file_available.assert_called_once_with(
|
||||
self.server, volume)
|
||||
self._driver._ssh_exec.assert_called_once_with(
|
||||
self.server,
|
||||
['sudo', 'mkfs.%s' % self.fake_conf.share_volume_fstype,
|
||||
|
|
Loading…
Reference in New Issue