From ca8eb9288ee28050f3bab8ae0011eeacace89065 Mon Sep 17 00:00:00 2001 From: David Lehman Date: Fri, 22 May 2015 16:23:31 -0500 Subject: [PATCH] Add a kickstart test for lvm with percentage-based sizes. --- tests/kickstart_tests/lvm-2.ks | 44 +++++++++++++++++++++++++++++++ tests/kickstart_tests/lvm-2.sh | 47 ++++++++++++++++++++++++++++++++++ 2 files changed, 91 insertions(+) create mode 100644 tests/kickstart_tests/lvm-2.ks create mode 100755 tests/kickstart_tests/lvm-2.sh diff --git a/tests/kickstart_tests/lvm-2.ks b/tests/kickstart_tests/lvm-2.ks new file mode 100644 index 00000000000..1b892d1866f --- /dev/null +++ b/tests/kickstart_tests/lvm-2.ks @@ -0,0 +1,44 @@ +#version=DEVEL +url --url="http://dl.fedoraproject.org/pub/fedora/linux/development/$releasever/$basearch/os/" +install +network --bootproto=dhcp + +bootloader --timeout=1 +zerombr +clearpart --all --initlabel +part /boot --fstype=ext4 --size=500 +part pv.1 --fstype=lvmpv --size=5000 +volgroup fedora pv.1 +logvol swap --name=swap --vgname=fedora --percent=10 --fstype=swap +logvol / --name=root --vgname=fedora --percent=90 --fstype=ext4 + +keyboard us +lang en_US.UTF-8 +timezone America/New_York --utc +rootpw testcase +shutdown + +%packages +python +%end + +%post +# verify sizes of lvs match percentages specified +vg_size=$(vgs --noheadings -o size --unit=m --nosuffix fedora) +root_lv_size=$(lvs --noheadings -o size --unit=m --nosuffix fedora/root) +swap_lv_size=$(lvs --noheadings -o size --unit=m --nosuffix fedora/swap) +root_percentage=$(python -c "print int(round(($root_lv_size*100)/$vg_size))") +swap_percentage=$(python -c "print int(round(($swap_lv_size*100)/$vg_size))") +if [ $swap_percentage != "10" ]; then + echo "*** swap lv size is incorrect ($swap_lv_size MiB, or ${swap_percentage}%)" >> /root/RESULT +fi + +if [ $root_percentage != "90" ]; then + echo "*** root lv size is incorrect ($root_lv_size MiB, or ${root_percentage}%)" >> /root/RESULT +fi + +if [ ! -e /root/RESULT ]; then + echo SUCCESS > /root/RESULT +fi + +%end diff --git a/tests/kickstart_tests/lvm-2.sh b/tests/kickstart_tests/lvm-2.sh new file mode 100755 index 00000000000..391520b7582 --- /dev/null +++ b/tests/kickstart_tests/lvm-2.sh @@ -0,0 +1,47 @@ +# +# Copyright (C) 2015 Red Hat, Inc. +# +# 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, or (at your option) any later version. +# This program is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY expressed or implied, including the implied warranties of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. 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., 51 Franklin Street, Fifth Floor, Boston, MA +# 02110-1301, USA. Any Red Hat trademarks that are incorporated in the +# source code or documentation are not subject to the GNU General Public +# License and may only be used or replicated with the express permission of +# Red Hat, Inc. +# +# Red Hat Author(s): Chris Lumens + +kernel_args() { + echo vnc +} + +prepare() { + ks=$1 + tmpdir=$2 + + echo ${ks} +} + +validate() { + img=$1 + + # There should be a /root/RESULT file with results in it. Check + # its contents and decide whether the test finally succeeded or + # not. + result=$(virt-cat -a ${img} -m /dev/sda2 /root/RESULT) + if [[ $? != 0 ]]; then + status=1 + echo '*** /root/RESULT does not exist in VM image.' + elif [[ "${result}" != "SUCCESS" ]]; then + status=1 + echo "${result}" + fi + + return ${status} +}