forked from md-raid-utilities/mdadm
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
CI: use self-hosted runner to run tests
Use prepared VM machine in GitHub actions to run mdadm tests on it. Signed-off-by: Kinga Stefaniuk <[email protected]>
- Loading branch information
Showing
13 changed files
with
289 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
#!/usr/bin/bash | ||
|
||
sudo make clean | ||
sudo make -j$(nproc) | ||
sudo make install | ||
sudo dracut -f | ||
sudo mdadm -Ss | ||
sudo ./test setup | ||
sudo ./test --skip-broken --no-error --disable-integrity --disable-multipath --disable-linear --keep-going | ||
sudo ./test cleanup |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
#!/usr/bin/bash | ||
|
||
sudo make -j$(nproc) && sudo make install && dracut -f && sudo ./test cleanup && sudo ./test setup | ||
sudo ./test 05 --skip-broken --no-error --disable-integrity --disable-multipath --disable-linear --keep-going --dev=loop | ||
sudo ./test 06 --skip-broken --no-error --disable-integrity --disable-multipath --disable-linear --keep-going --dev=loop | ||
sudo ./test 07 --skip-broken --no-error --disable-integrity --disable-multipath --disable-linear --keep-going --dev=loop | ||
sudo ./test 08 --skip-broken --no-error --disable-integrity --disable-multipath --disable-linear --keep-going --dev=loop | ||
sudo ./test cleanup |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
#!/usr/bin/bash | ||
|
||
sudo make -j$(nproc) && sudo make install && dracut -f && sudo ./test cleanup && sudo ./test setup | ||
sudo ./test --raidtype=ddf --skip-broken --no-error --disable-integrity --disable-multipath --disable-linear --keep-going --dev=loop | ||
sudo ./test cleanup |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
#!/usr/bin/bash | ||
|
||
sudo make -j$(nproc) && sudo make install && dracut -f && sudo ./test cleanup && sudo ./test setup | ||
sudo ./test --raidtype=imsm --skip-broken --no-error --disable-integrity --disable-multipath --disable-linear --keep-going --dev=loop | ||
sudo ./test cleanup |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
#!/usr/bin/bash | ||
|
||
sudo make -j$(nproc) && sudo make install && dracut -f && sudo ./test cleanup && sudo ./test setup | ||
sudo ./test --raidtype=raid0 --skip-broken --no-error --disable-integrity --disable-multipath --disable-linear --keep-going --dev=loop | ||
sudo ./test --raidtype=raid1 --skip-broken --no-error --disable-integrity --disable-multipath --disable-linear --keep-going --dev=loop | ||
sudo ./test --raidtype=raid456 --skip-broken --no-error --disable-integrity --disable-multipath --disable-linear --keep-going --dev=loop | ||
sudo ./test --raidtype=raid10 --skip-broken --no-error --disable-integrity --disable-multipath --disable-linear --keep-going --dev=loop | ||
sudo ./test cleanup |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,91 @@ | ||
|
||
# check that kernel an restripe interpret all the different layouts | ||
# the same | ||
# This involves changing the layout to each different possibility | ||
# while MDADM_GROW_VERIFY is set. | ||
|
||
testK=$[64*3*6] | ||
dd if=/dev/urandom of=/tmp/RandFile bs=1024 count=$testK | ||
export MDADM_GROW_VERITY=1 | ||
|
||
|
||
dotest() { | ||
sleep 0.5 | ||
check wait | ||
testdev $md0 $1 $mdsize1 512 nd | ||
blockdev --flushbufs $md0 | ||
cmp -s -n $[textK*1024] $md0 /tmp/RandFile || { echo cmp failed; exit 2; } | ||
# write something new - shift chars 4 space | ||
tr ' -~' '$-~ -#' < /tmp/RandFile > /tmp/RandFile2 | ||
mv /tmp/RandFile2 /tmp/RandFile | ||
dd if=/tmp/RandFile of=$md0 | ||
} | ||
|
||
checkgeo() { | ||
# check the geometry of an array | ||
# level raid_disks chunk_size layout | ||
dev=$1 | ||
shift | ||
sleep 0.5 | ||
check wait | ||
for attr in level raid_disks chunk_size layout | ||
do | ||
if [ $# -gt 0 ] ; then | ||
val=$1 | ||
shift | ||
if [ " `sed 's/ .*//' /sys/block/$dev/md/$attr`" != " $val" ] | ||
then echo "$attr doesn't match for $dev" | ||
exit 1 | ||
fi | ||
fi | ||
done | ||
} | ||
|
||
|
||
bu=/tmp/md-test-backup | ||
rm -f $bu | ||
|
||
# first a degraded 5 device raid5 | ||
mdadm -CR $md0 -l5 -n5 $dev0 $dev1 missing $dev2 $dev3 | ||
dd if=/tmp/RandFile of=$md0 | ||
dotest 4 | ||
|
||
l5[0]=la | ||
l5[1]=ra | ||
l5[2]=ls | ||
l5[3]=rs | ||
l5[4]=parity-first | ||
l5[5]=parity-last | ||
for layout in 0 1 2 3 4 5 0 | ||
do | ||
mdadm -G $md0 --layout=${l5[$layout]} --backup-file $bu | ||
checkgeo md0 raid5 5 $[512*1024] $layout | ||
dotest 4 | ||
done | ||
|
||
mdadm -S $md0 | ||
# now a doubly degraded raid6 | ||
mdadm -CR $md0 -l6 -n5 $dev0 missing $dev2 missing $dev4 | ||
dd if=/tmp/RandFile of=$md0 | ||
dotest 3 | ||
|
||
l6[0]=la | ||
l6[1]=ra | ||
l6[2]=ls | ||
l6[3]=rs | ||
l6[4]=parity-first | ||
l6[5]=parity-last | ||
l6[8]=ddf-zero-restart | ||
l6[9]=ddf-N-restart | ||
l6[10]=ddf-N-continue | ||
l6[16]=left-asymmetric-6 | ||
l6[17]=right-asymmetric-6 | ||
l6[18]=left-symmetric-6 | ||
l6[19]=right-symmetric-6 | ||
l6[20]=parity-first-6 | ||
for layout in 0 1 2 3 4 5 8 9 10 16 17 18 19 20 0 | ||
do | ||
mdadm -G $md0 --layout=${l6[$layout]} --backup-file $bu | ||
checkgeo md0 raid6 5 $[512*1024] $layout | ||
dotest 3 | ||
done |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
. tests/env-imsm-template | ||
|
||
# RAID 5 volume (3 disks) migrate to RAID 4 volume (3 disks) | ||
# NEGATIVE test | ||
|
||
num_disks=3 | ||
device_list="$dev0 $dev1 $dev2" | ||
|
||
# Before: RAID 5 volume, 3 disks, 64k chunk size | ||
vol0_level=5 | ||
vol0_comp_size=$((5 * 1024)) | ||
vol0_chunk=64 | ||
vol0_num_comps=$((num_disks - 1)) | ||
vol0_offset=0 | ||
|
||
# After: RAID 4, 3 disks, 64k chunk size | ||
vol0_new_level=4 | ||
vol0_new_num_comps=$((num_disks - 1)) | ||
vol0_new_chunk=64 | ||
|
||
. tests/imsm-grow-template 1 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
. tests/env-imsm-template | ||
|
||
# RAID 0 volume, Migration from 64k to 256k chunk size. | ||
# POSITIVE test | ||
|
||
num_disks=2 | ||
device_list="$dev0 $dev1" | ||
|
||
# RAID 0, 2 disks, 64k chunk size | ||
vol0_level=0 | ||
vol0_comp_size=$((5 * 1024)) | ||
vol0_chunk=64 | ||
vol0_num_comps=$num_disks | ||
vol0_offset=0 | ||
|
||
# RAID 0, 2 disks, 256k chunk size | ||
vol0_new_level=0 | ||
vol0_new_num_comps=$vol0_num_comps | ||
vol0_new_chunk=256 | ||
|
||
. tests/imsm-grow-template 0 1 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
. tests/env-imsm-template | ||
|
||
# RAID 5 volume, Migration from 4k to 256 chunk size. | ||
# POSITIVE test | ||
|
||
num_disks=3 | ||
device_list="$dev0 $dev1 $dev2" | ||
|
||
# RAID 5, 3 disks, 4k chunk size | ||
vol0_level=5 | ||
vol0_comp_size=$((5 * 1024)) | ||
vol0_chunk=4 | ||
vol0_num_comps=$((num_disks - 1)) | ||
vol0_offset=0 | ||
|
||
# RAID 5, 3 disks, 256k chunk size | ||
vol0_new_level=5 | ||
vol0_new_num_comps=$vol0_num_comps | ||
vol0_new_chunk=256 | ||
|
||
. tests/imsm-grow-template 0 1 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
. tests/env-imsm-template | ||
|
||
# RAID 5 volume, Migration from 64k to 256k chunk size. | ||
# POSITIVE test | ||
|
||
num_disks=3 | ||
device_list="$dev0 $dev1 $dev2" | ||
|
||
# RAID 5, 3 disks, 64k chunk size | ||
vol0_level=5 | ||
vol0_comp_size=$((5 * 1024)) | ||
vol0_chunk=64 | ||
vol0_num_comps=$((num_disks - 1)) | ||
vol0_offset=0 | ||
|
||
# RAID 5, 3 disks, 256k chunk size | ||
vol0_new_level=5 | ||
vol0_new_num_comps=$vol0_num_comps | ||
vol0_new_chunk=256 | ||
|
||
. tests/imsm-grow-template 0 1 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
. tests/env-imsm-template | ||
|
||
# RAID 5 volume, Migration from 4k to 256k chunk size. | ||
# POSITIVE test | ||
|
||
num_disks=6 | ||
device_list="$dev0 $dev1 $dev2 $dev3 $dev4 $dev5" | ||
|
||
# RAID 5, 6 disks, 4k chunk size | ||
vol0_level=5 | ||
vol0_comp_size=$((5 * 1024)) | ||
vol0_chunk=4 | ||
vol0_num_comps=$((num_disks - 1)) | ||
vol0_offset=0 | ||
|
||
# RAID 5, 6 disks, 256k chunk size | ||
vol0_new_level=5 | ||
vol0_new_num_comps=$vol0_num_comps | ||
vol0_new_chunk=256 | ||
|
||
. tests/imsm-grow-template 0 1 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
. tests/env-imsm-template | ||
|
||
# Member 0: RAID 5 volume, Member 1: RAID 0 volume | ||
# Migration from 64k to 256k chunk size (both members) | ||
# POSITIVE test | ||
|
||
num_disks=3 | ||
device_list="$dev0 $dev1 $dev2" | ||
|
||
# RAID 5, 3 disks, 64k chunk size | ||
vol0_level=5 | ||
vol0_comp_size=$((5 * 1024)) | ||
vol0_chunk=64 | ||
vol0_num_comps=$((num_disks - 1)) | ||
vol0_offset=0 | ||
|
||
# After migration parameters | ||
vol0_new_level=5 | ||
vol0_new_num_comps=$vol0_num_comps | ||
vol0_new_chunk=256 | ||
|
||
# RAID 0, 3 disks, 64k chunk size | ||
vol1_level=0 | ||
vol1_comp_size=$((5 * 1024)) | ||
vol1_chunk=64 | ||
vol1_num_comps=$num_disks | ||
vol1_offset=$((vol0_comp_size + 4096)) | ||
|
||
# After migration paramters | ||
vol1_new_level=0 | ||
vol1_new_num_comps=$vol1_num_comps | ||
vol1_new_chunk=256 | ||
|
||
. tests/imsm-grow-template 0 1 |