From d2162d4580335cab14d1cd31ea31606f411688d6 Mon Sep 17 00:00:00 2001 From: Ryan Harper Date: Mon, 16 Jun 2014 12:33:42 -0500 Subject: [PATCH] Fix determine_block_devices to ignore missing devices. Do not return None value in a list of block devices to be used. --- hooks/misc_utils.py | 3 ++- hooks/swift_storage_utils.py | 6 +++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/hooks/misc_utils.py b/hooks/misc_utils.py index 2b2e39c..43b8e4d 100644 --- a/hooks/misc_utils.py +++ b/hooks/misc_utils.py @@ -56,7 +56,8 @@ def ensure_block_device(block_device): if not is_block_device(bdev): log('Failed to locate valid block device at %s' % bdev, level=ERROR) - raise + # ignore missing block devices + return return bdev diff --git a/hooks/swift_storage_utils.py b/hooks/swift_storage_utils.py index 21afd50..af1fb89 100644 --- a/hooks/swift_storage_utils.py +++ b/hooks/swift_storage_utils.py @@ -164,7 +164,11 @@ def determine_block_devices(): else: bdevs = block_device.split(' ') - return [ensure_block_device(bd) for bd in bdevs] + # attempt to ensure block devices, but filter out missing devs + _none = ['None', 'none', None] + valid_bdevs = [x for x in map(ensure_block_device, bdevs) if x not in _none] + log('Valid ensured block devices: %s' % valid_bdevs) + return valid_bdevs def mkfs_xfs(bdev):