[blivet:master 18/26] Remove getRaidLevel() from mdraid file and make RAID_levels public
mulhern
amulhern at redhat.com
Thu May 29 18:47:36 UTC 2014
devicelibs.btrfs and devicelibs.lvm will be the same. Keeping getRaidLevel()
will just require making copies of it for each of these, in order to remain
consistent.
Update some tests as appropriate, where RaidError is thrown instead of
MDRaidError.
Signed-off-by: mulhern <amulhern at redhat.com>
---
blivet/devicefactory.py | 7 +++----
blivet/devicelibs/mdraid.py | 13 ++-----------
blivet/devices.py | 2 +-
tests/devicefactory_test.py | 8 ++++----
tests/devicelibs_test/mdraid_test.py | 16 ++++++++--------
tests/devices_test.py | 14 +++++++-------
tests/devicetree_test.py | 2 +-
7 files changed, 26 insertions(+), 36 deletions(-)
diff --git a/blivet/devicefactory.py b/blivet/devicefactory.py
index ee0c651..96e189c 100644
--- a/blivet/devicefactory.py
+++ b/blivet/devicefactory.py
@@ -758,7 +758,7 @@ class DeviceFactory(object):
if level in [None, "single"]:
continue
- min_disks = mdraid.getRaidLevel(level).min_members
+ min_disks = mdraid.RAID_levels.raidLevel(level).min_members
disks = set(d for m in self._get_member_devices() for d in m.disks)
if len(disks) < min_disks:
raise DeviceFactoryError("Not enough disks for %s" % level)
@@ -1535,9 +1535,8 @@ class MDFactory(DeviceFactory):
def _get_device_space(self):
member_count = len(self._get_member_devices())
- size_per_member = mdraid.getRaidLevel(self.raid_level).get_base_member_size(
- self.size,
- member_count)
+ raid_level = mdraid.RAID_levels.raidLevel(self.raid_level)
+ size_per_member = raid_level.get_base_member_size(self.size, member_count)
size_per_member += mdraid.get_raid_superblock_size(self.size)
return size_per_member * member_count
diff --git a/blivet/devicelibs/mdraid.py b/blivet/devicelibs/mdraid.py
index 75f7ffe..0bfbbe8 100644
--- a/blivet/devicelibs/mdraid.py
+++ b/blivet/devicelibs/mdraid.py
@@ -23,7 +23,7 @@
import os
from .. import util
-from ..errors import MDRaidError, RaidError
+from ..errors import MDRaidError
from ..size import Size
from . import raid
@@ -43,16 +43,7 @@ class MDRaidLevels(raid.RAIDLevels):
hasattr(level, 'get_recommended_stride') and \
hasattr(level, 'get_size')
-_RAID_levels = MDRaidLevels(["raid0", "raid1", "raid4", "raid5", "raid6", "raid10", "container"])
-
-def getRaidLevel(descriptor):
- """Return an object for this raid level descriptor.
- Raises an MDRaidError if the descriptor is not valid.
- """
- try:
- return _RAID_levels.raidLevel(descriptor)
- except RaidError as e:
- raise MDRaidError(e.message)
+RAID_levels = MDRaidLevels(["raid0", "raid1", "raid4", "raid5", "raid6", "raid10", "container"])
def get_raid_superblock_size(size, version=None):
""" mdadm has different amounts of space reserved for its use depending
diff --git a/blivet/devices.py b/blivet/devices.py
index 2958faa..6993ded 100644
--- a/blivet/devices.py
+++ b/blivet/devices.py
@@ -3350,7 +3350,7 @@ class MDRaidArrayDevice(ContainerDevice):
:param type: a valid raid level descriptor
:returns: None
"""
- self._level = mdraid.getRaidLevel(value) # pylint: disable=attribute-defined-outside-init
+ self._level = mdraid.RAID_levels.raidLevel(value) # pylint: disable=attribute-defined-outside-init
@property
def createBitmap(self):
diff --git a/tests/devicefactory_test.py b/tests/devicefactory_test.py
index 28fa079..d4746dd 100644
--- a/tests/devicefactory_test.py
+++ b/tests/devicefactory_test.py
@@ -5,7 +5,7 @@ import unittest
import blivet
from blivet import devicefactory
-from blivet.errors import MDRaidError, RaidError
+from blivet.errors import RaidError
from blivet.size import Size
class MDFactoryTestCase(unittest.TestCase):
@@ -26,11 +26,11 @@ class MDFactoryTestCase(unittest.TestCase):
raid_level=0)
def testMDFactory(self):
- self.assertRaisesRegexp(MDRaidError,
+ self.assertRaisesRegexp(RaidError,
"invalid RAID level",
self.factory1._get_device_space)
- self.assertRaisesRegexp(MDRaidError,
+ self.assertRaisesRegexp(RaidError,
"invalid RAID level",
self.factory1._configure)
@@ -38,7 +38,7 @@ class MDFactoryTestCase(unittest.TestCase):
self.assertIsNone(self.factory1.get_container())
- self.assertRaisesRegexp(MDRaidError,
+ self.assertRaisesRegexp(RaidError,
"invalid RAID level",
self.factory1._get_new_device,
parents=[])
diff --git a/tests/devicelibs_test/mdraid_test.py b/tests/devicelibs_test/mdraid_test.py
index 73d2ff1..5abffea 100755
--- a/tests/devicelibs_test/mdraid_test.py
+++ b/tests/devicelibs_test/mdraid_test.py
@@ -15,15 +15,15 @@ class MDRaidTestCase(unittest.TestCase):
def testMDRaid(self):
##
- ## getRaidLevel
+ ## level lookup
##
- self.assertEqual(mdraid.getRaidLevel("container").name, "container")
- self.assertEqual(mdraid.getRaidLevel("stripe").name, "raid0")
- self.assertEqual(mdraid.getRaidLevel("mirror").name, "raid1")
- self.assertEqual(mdraid.getRaidLevel("4").name, "raid4")
- self.assertEqual(mdraid.getRaidLevel(5).name, "raid5")
- self.assertEqual(mdraid.getRaidLevel("RAID6").name, "raid6")
- self.assertEqual(mdraid.getRaidLevel("raid10").name, "raid10")
+ self.assertEqual(mdraid.RAID_levels.raidLevel("container").name, "container")
+ self.assertEqual(mdraid.RAID_levels.raidLevel("stripe").name, "raid0")
+ self.assertEqual(mdraid.RAID_levels.raidLevel("mirror").name, "raid1")
+ self.assertEqual(mdraid.RAID_levels.raidLevel("4").name, "raid4")
+ self.assertEqual(mdraid.RAID_levels.raidLevel(5).name, "raid5")
+ self.assertEqual(mdraid.RAID_levels.raidLevel("RAID6").name, "raid6")
+ self.assertEqual(mdraid.RAID_levels.raidLevel("raid10").name, "raid10")
##
## get_raid_superblock_size
diff --git a/tests/devices_test.py b/tests/devices_test.py
index 3d6ec5e..3f8c4fc 100644
--- a/tests/devices_test.py
+++ b/tests/devices_test.py
@@ -8,7 +8,7 @@ from mock import Mock
import blivet
from blivet.errors import DeviceError
-from blivet.errors import MDRaidError
+from blivet.errors import RaidError
from blivet.devices import BTRFSSubVolumeDevice
from blivet.devices import BTRFSVolumeDevice
@@ -365,18 +365,18 @@ class MDRaidArrayDeviceTestCase(DeviceStateTestCase):
spares=lambda x, m: self.assertEqual(x, 1, m),
totalDevices=lambda x, m: self.assertEqual(x, 5, m))
- self.assertRaisesRegexp(MDRaidError,
+ self.assertRaisesRegexp(RaidError,
"invalid RAID level",
MDRaidArrayDevice,
"dev")
- self.assertRaisesRegexp(MDRaidError,
+ self.assertRaisesRegexp(RaidError,
"invalid RAID level",
MDRaidArrayDevice,
"dev",
level="raid2")
- self.assertRaisesRegexp(MDRaidError,
+ self.assertRaisesRegexp(RaidError,
"invalid RAID level",
MDRaidArrayDevice,
"dev",
@@ -391,7 +391,7 @@ class MDRaidArrayDeviceTestCase(DeviceStateTestCase):
parents=[StorageDevice("parent",
fmt=getFormat("mdmember"))])
- self.assertRaisesRegexp(MDRaidError,
+ self.assertRaisesRegexp(RaidError,
"invalid RAID level descriptor junk",
MDRaidArrayDevice,
"dev",
@@ -407,10 +407,10 @@ class MDRaidArrayDeviceTestCase(DeviceStateTestCase):
def testMDRaidArrayDeviceMethods(self):
"""Test for method calls on initialized MDRaidDevices."""
- with self.assertRaisesRegexp(MDRaidError, "invalid RAID level" ):
+ with self.assertRaisesRegexp(RaidError, "invalid RAID level" ):
self.dev7.level = "junk"
- with self.assertRaisesRegexp(MDRaidError, "invalid RAID level" ):
+ with self.assertRaisesRegexp(RaidError, "invalid RAID level" ):
self.dev7.level = None
class BTRFSDeviceTestCase(DeviceStateTestCase):
diff --git a/tests/devicetree_test.py b/tests/devicetree_test.py
index b0105f9..56ce17f 100644
--- a/tests/devicetree_test.py
+++ b/tests/devicetree_test.py
@@ -171,7 +171,7 @@ class MDRaid0TestCase(BlivetResetTestCase):
_validate_attrs = BlivetResetTestCase._validate_attrs + ["level", "spares"]
def set_up_disks(self):
- level = devicelibs.mdraid.getRaidLevel(self.level)
+ level = devicelibs.mdraid.RAID_levels.raidLevel(self.level)
disk_count = level.min_members
self.disks = dict()
for i in range(disk_count):
--
1.8.3.1
More information about the anaconda-patches
mailing list