From 3bce3ad52a6c1fafd55573c465486faed3bb0a77 Mon Sep 17 00:00:00 2001 From: Jonathan Brassow Date: Fri, 25 Apr 2014 16:59:09 -0500 Subject: [PATCH] test: Add the new vgsplit RAID test file forgotten in the last commit --- test/shell/vgsplit-raid.sh | 58 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 test/shell/vgsplit-raid.sh diff --git a/test/shell/vgsplit-raid.sh b/test/shell/vgsplit-raid.sh new file mode 100644 index 000000000..898fc9a5a --- /dev/null +++ b/test/shell/vgsplit-raid.sh @@ -0,0 +1,58 @@ +#!/bin/sh +# Copyright (C) 2014 Red Hat, Inc. All rights reserved. +# +# This copyrighted material is made available to anyone wishing to use, +# modify, copy, or redistribute it subject to the terms and conditions +# of the GNU General Public License v.2. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +# Test vgsplit operation, including different LV types + +. lib/test + +COMM() { + LAST_TEST="$@" +} + +create_vg_() { + vgcreate -s 64k "$@" +} + +aux target_at_least dm-raid 1 1 0 || skip + +aux prepare_pvs 5 10 + +# +# vgsplit can be done into a new or existing VG +# +for i in new existing +do + # + # We can have PVs or LVs on the cmdline + # + for j in PV LV + do +COMM "vgsplit correctly splits RAID LV into $i VG ($j args)" + create_vg_ $vg1 "$dev1" "$dev2" "$dev3" + test $i = existing && create_vg_ $vg2 "$dev5" + + lvcreate -an -Zn -l 64 --type raid5 -i 2 -n $lv1 $vg1 + if [ $j = PV ]; then + not vgsplit $vg1 $vg2 "$dev1" + not vgsplit $vg1 $vg2 "$dev2" + not vgsplit $vg1 $vg2 "$dev1" "$dev2" + vgsplit $vg1 $vg2 "$dev1" "$dev2" "$dev3" + else + vgsplit -n $lv1 $vg1 $vg2 + fi + if [ $i = existing ]; then + check pvlv_counts $vg2 4 1 0 + else + check pvlv_counts $vg2 3 1 0 + fi + vgremove -f $vg2 + done +done