numam-spdk/scripts/vagrant/create_nvme_img.sh
Maciej Wawryk 1d95f22d62 scripts/vagrant: Add automatic emulated disk create
Current scripts/vagrant allow us to manual create every emulated device.
This patch allow to automatic create whole emulated disk while we
create virtual machine.

Signed-off-by: Maciej Wawryk <maciejx.wawryk@intel.com>
Change-Id: If772adc282c4f6d94dab5eb7337f097a08f708e9
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/475070
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Karol Latecki <karol.latecki@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
2019-11-22 13:52:11 +00:00

70 lines
1.4 KiB
Bash
Executable File

#!/usr/bin/env bash
SYSTEM=$(uname -s)
size="1024M"
nvme_disk="/var/lib/libvirt/images/nvme_disk.img"
type="nvme"
function usage() {
echo "Usage: ${0##*/} [-s <disk_size>] [-n <backing file name>]"
echo "-s <disk_size> with postfix e.g. 2G default: 1024M"
echo " for OCSSD default: 9G"
echo "-n <backing file name> backing file path with name"
echo " default: /var/lib/libvirt/images/nvme_disk.img"
echo "-t <type> default: nvme available: ocssd"
}
while getopts "s:n:t:h-:" opt; do
case "${opt}" in
-)
echo " Invalid argument: $OPTARG"
usage
exit 1
;;
s)
size=$OPTARG
;;
n)
nvme_disk=$OPTARG
;;
t)
type=$OPTARG
;;
h)
usage
exit 0
;;
*)
echo " Invalid argument: $OPTARG"
usage
exit 1
;;
esac
done
if [ ! "${SYSTEM}" = "FreeBSD" ]; then
WHICH_OS=$(lsb_release -i | awk '{print $3}')
case $type in
"nvme")
qemu-img create -f raw $nvme_disk ${size}
;;
"ocssd")
if [ ${size} == "1024M" ]; then
size="9G"
fi
fallocate -l ${size} $nvme_disk
touch /var/lib/libvirt/images/ocssd_md
;;
*)
echo "We support only nvme and ocssd disks types"
exit 1
;;
esac
#Change SE Policy on Fedora
if [ $WHICH_OS == "Fedora" ]; then
sudo chcon -t svirt_image_t $nvme_disk
fi
chmod 777 $nvme_disk
chown qemu:qemu $nvme_disk
fi