Let unmounted_disks not skipping device "/dev/sdm"

Change-Id: I7bf90531fe5bb01ff47cdeff879b5f72fd227855
Closes-Bug: #1848000
This commit is contained in:
taodd 2019-10-14 19:12:26 +08:00
parent ee5de74d0a
commit 740eadcde5
2 changed files with 9 additions and 3 deletions

View File

@ -177,7 +177,7 @@ def unmounted_disks():
for device in context.list_devices(DEVTYPE='disk'):
if device['SUBSYSTEM'] == 'block':
matched = False
for block_type in [u'dm', u'loop', u'ram', u'nbd']:
for block_type in [u'dm-', u'loop', u'ram', u'nbd']:
if block_type in device.device_node:
matched = True
if matched:

View File

@ -515,14 +515,20 @@ class CephTestCase(unittest.TestCase):
dev3 = MagicMock(spec=TestDevice)
dev3.__getitem__.return_value = "block"
dev3.device_node = '/dev/loop1'
devices = [dev1, dev2, dev3]
dev4 = MagicMock(spec=TestDevice)
dev4.__getitem__.return_value = "block"
dev4.device_node = '/dev/sdm'
dev5 = MagicMock(spec=TestDevice)
dev5.__getitem__.return_value = "block"
dev5.device_node = '/dev/dm-1'
devices = [dev1, dev2, dev3, dev4, dev5]
with patch(
'pyudev.Context.list_devices',
return_value=devices):
with patch.object(utils, 'is_device_mounted',
return_value=False):
devices = utils.unmounted_disks()
self.assertEqual(devices, ['/dev/sda', '/dev/sdb'])
self.assertEqual(devices, ['/dev/sda', '/dev/sdb', '/dev/sdm'])
with patch.object(utils, 'is_device_mounted',
return_value=True):
devices = utils.unmounted_disks()