coordination #71242: [epic] Unify validation in the installed system
Validate raid partitioning layout using test data instead of regex
In tests/console/validate_raid.pm we use utilities lsblk and mdadm to validate our raid scenarios via regex.
lblsk has options to export to json which we can parse applying
use Mojo::JSON 'decode_json' and compare easily against test data for each scenario.
mdamd can be parsed with some smart regex having pairs of values afir, but requires some investigation, there are some options available:
mdadm --examine -E mdadm --detail mdadm --examine --brief
With --export output is easy to extract and looks like:
MD_LEVEL=raid5 MD_DEVICES=4 MD_METADATA=1.2
With --examine also with regext we can get those pairs:
/dev/sda: Magic : Intel Raid ISM Cfg Sig. Version : 1.0.00
In the same way we introduce some mapping (some hash in Perl) for the input data, we might need something similar here in some cases (i.e.: msdos->MSDOS) depending of the output of the command.
We have available every single output for each architecture, check for example here but we might need to run those command with different parameters, so it is better to check most of the output first as there are variations.
Another suggestion is to not try to examine more than one drive with a command so it simplifies the logic.
#7 Updated by riafarov about 1 year ago
- Status changed from In Progress to Feedback