[blivet:master 16/21] Remove getRaidLevel() from mdraid file and make RAID_levels public
mulhern
amulhern at redhat.com
Sat May 17 18:51:01 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 11a59e9..3d75c44 100644
--- a/blivet/devicefactory.py
+++ b/blivet/devicefactory.py
@@ -759,7 +759,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)
@@ -1537,9 +1537,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 a450b1f..7ab3363 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 3538b4f..5b7c6d2 100644
--- a/blivet/devices.py
+++ b/blivet/devices.py
@@ -3258,7 +3258,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 afb9839..32aad45 100644
--- a/tests/devices_test.py
+++ b/tests/devices_test.py
@@ -7,7 +7,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
@@ -364,18 +364,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",
@@ -390,7 +390,7 @@ class MDRaidArrayDeviceTestCase(DeviceStateTestCase):
parents=[StorageDevice("parent",
fmt=getFormat("mdmember"))])
- self.assertRaisesRegexp(MDRaidError,
+ self.assertRaisesRegexp(RaidError,
"invalid RAID level descriptor junk",
MDRaidArrayDevice,
"dev",
@@ -406,10 +406,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