On 05/29/2014 01:47 PM, mulhern wrote:
These patches will be vaguely remniscent of the last set of RAID
related
patches I sent out, but not all that close.
The changes require an anaconda patch.
The first four are nice and simple.
The very last is only related to RAID because I felt
I had to understand the method in order to understand device populateKSData()
methods, and to understand it I had to think about, so I ended up rewriting it.
mulhern (26):
Import name 'lvm' instead of names from lvm package.
Comment mdraid.mdcreate() and update tests appropriately.
Remove DMRaidArrayDevice.members property.
Extract selection of members in completed() into a separate method.
No longer use _standard_levels as the default set of RAID levels.
Adjust RaidLevel hierarchy so that all raid level objects extend
RAIDLevel
Allow the RAID object itself to be a valid RAID descriptor for lookup.
Move Container class to raid package and tidy it up
Add Linear and Single to the RAID classes.
Add a has_redundancy method that returns True if there is actual
redundancy
Add an is_uniform property to the RAID levels.
Add a Dup class to the various descendants of RAIDLevel.
Make createBitmap() a property and update tests appropriately.
Use has_redundancy raid property when checking whether a device is
removable
Update the mdraid.mdadd comments
Use has_redundancy property to decide how to add a member to an array.
Check for required methods in MDRaidLevels.isRaidLevel.
Remove getRaidLevel() from mdraid file and make RAID_levels public
Add "linear" to mdraid's list of supported raid levels.
Add lists of supported RAID levels for btrfs and lvm
Make BTRFS devices use RAID objects instead of strings for levels
Put get_supported_raid_levels in devicefactory.py
Distribute devicefactory.get_raid_level within devices classes.
Make all devicefactory classes uses RAID objects instead of strings.
Move the code for getting a space requirement from devicefactory to
raid.
Simplify a small chunk of Blivet.updateKSData()
blivet/__init__.py | 12 +-
blivet/devicefactory.py | 137 ++++++++++------
blivet/devicelibs/btrfs.py | 10 +-
blivet/devicelibs/lvm.py | 3 +
blivet/devicelibs/mdraid.py | 64 +++-----
blivet/devicelibs/raid.py | 297 +++++++++++++++++++++++++----------
blivet/devices.py | 186 +++++++++++++++++-----
tests/devicefactory_test.py | 26 +--
tests/devicelibs_test/mdraid_test.py | 21 +--
tests/devicelibs_test/raid_test.py | 73 ++++-----
tests/devices_test.py | 58 +++++--
tests/devicetree_test.py | 2 +-
12 files changed, 590 insertions(+), 299 deletions(-)
ACK