freezer/tests/scenario/vagrant-scripts/create-lvm.sh

54 lines
1.3 KiB
Bash
Executable File

#!/bin/bash
set -x
set -e
if [ "X$EUID" != "X0" ]; then
echo "Please run as root";
exit 1;
fi
if [ -z "${1##*[!0-9]*}" ]; then
echo "Please provide /dev/loopX number"
exit 1;
fi
MOUNT_DIR='/mnt/freezer-test-lvm'
IMG_DIR='/tmp'
function delete_test_lvm {
cd ~
# This should be empty => sudo dmsetup table
sudo umount -vd ${MOUNT_DIR} || test 0
sudo rm ${MOUNT_DIR} -rf
sudo fuser -k /dev/loop${1} || test 0
sudo dmsetup remove -f freezer--test${1}--volgroup-freezer--test${1}--vol || test 0
sudo losetup -d /dev/loop${1} || test 0
}
function create_test_lvm {
dd if=/dev/zero of=${IMG_DIR}/freezer-test-lvm${1}.img bs=20 count=1048576
sudo losetup /dev/loop${1} ${IMG_DIR}/freezer-test-lvm${1}.img
sudo apt-get install lvm2 -y || yum install lvm2 -y
sudo pvcreate /dev/loop${1}
sudo vgcreate freezer-test${1}-volgroup /dev/loop${1}
sudo lvcreate -L 10M --name freezer-test${1}-vol freezer-test${1}-volgroup
LVM_VOL=/dev/freezer-test${1}-volgroup/freezer-test${1}-vol
sudo mkfs.ext4 ${LVM_VOL}
sudo mkdir -p ${MOUNT_DIR}
sudo mount ${LVM_VOL} ${MOUNT_DIR}
df -Th
}
### MAIN ###
# >>> Uncomment if you get stuck <<<
# delete_test_lvm ${1};
# exit 0;
if [ "X$(sudo losetup -a|grep loop${1})" == "X" ]; then
delete_test_lvm ${1};
create_test_lvm ${1};
fi
exit 0;