diff --git a/scripts/vagrant/Vagrantfile b/scripts/vagrant/Vagrantfile index 40e012b28..8b5b0ace5 100644 --- a/scripts/vagrant/Vagrantfile +++ b/scripts/vagrant/Vagrantfile @@ -90,7 +90,7 @@ Vagrant.configure(2) do |config| vb.memory = "#{vmram}" vb.cpus = "#{vmcpu}" - nvme_disk = 'nvme.vdi' + nvme_disk=(ENV['NVME_FILE'] || "nvme_disk.img") unless File.exist? (nvme_disk) vb.customize ["createhd", "--filename", nvme_disk, "--variant", "Fixed", "--size", "1024"] vb.customize ["storagectl", :id, "--name", "nvme", "--add", "pcie", "--controller", "NVMe", "--portcount", "1", "--bootable", "off"] @@ -111,7 +111,12 @@ Vagrant.configure(2) do |config| # we put nvme_disk inside default pool to eliminate libvirt/SELinux Permissions Problems # and to be able to run vagrant from user $HOME directory - nvme_disk = '/var/lib/libvirt/images/nvme_disk.img' + if ENV['NVME_FILE'] + nvme_disk="/var/lib/libvirt/images/" + ENV['NVME_FILE'] + else + nvme_disk="/var/lib/libvirt/images/nvme_disk.img" + end + unless File.exist? (nvme_disk) puts "If run with libvirt provider please execute create_nvme_img.sh" end diff --git a/scripts/vagrant/create_nvme_img.sh b/scripts/vagrant/create_nvme_img.sh index 0fec5770f..c739132fb 100755 --- a/scripts/vagrant/create_nvme_img.sh +++ b/scripts/vagrant/create_nvme_img.sh @@ -1,15 +1,42 @@ #!/usr/bin/env bash SYSTEM=`uname -s` size="1024M" +name="nvme_disk.img" -# NVMe img size example format: 2048M -if [ -n $1 ]; then - size=$1 -fi +function usage() { + echo "Usage: ${0##*/} [-s ] [-n ]" + echo "-s with postfix e.g. 2G default: 1024M" + echo "-n default: nvme_disk.img" +} + +while getopts "s:n:h-:" opt; do + case "${opt}" in + -) + echo " Invalid argument: $OPTARG" + usage + exit 1 + ;; + s) + size=$OPTARG + ;; + n) + name=$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}'` - nvme_disk='/var/lib/libvirt/images/nvme_disk.img' + nvme_disk="/var/lib/libvirt/images/$name" qemu-img create -f raw $nvme_disk ${size} #Change SE Policy on Fedora diff --git a/scripts/vagrant/create_vbox.sh b/scripts/vagrant/create_vbox.sh index 39270ffd2..d5d57827d 100755 --- a/scripts/vagrant/create_vbox.sh +++ b/scripts/vagrant/create_vbox.sh @@ -15,10 +15,11 @@ SPDK_DIR="$( cd "${DIR}/../../" && pwd )" # The command line help display_help() { echo - echo " Usage: ${0##*/} [-n ] [-s ] [-x ] [-hvrld] " + echo " Usage: ${0##*/} [-b nvme-backing-file] [-n ] [-s ] [-x ] [-hvrld] " echo echo " distro = " echo + echo " -b default: ${NVME_FILE}" echo " -s in kb default: ${SPDK_VAGRANT_VMRAM}" echo " -n 1 to 4 default: ${SPDK_VAGRANT_VMCPU}" echo " -x default: \"${SPDK_VAGRANT_HTTP_PROXY}\"" @@ -54,8 +55,9 @@ SPDK_VAGRANT_DISTRO="distro" SPDK_VAGRANT_VMCPU=4 SPDK_VAGRANT_VMRAM=4096 OPTIND=1 +NVME_FILE="nvme_disk.img" -while getopts ":n:s:x:p:vrldh-:" opt; do +while getopts ":b:n:s:x:p:vrldh-:" opt; do case "${opt}" in -) case "${OPTARG}" in @@ -94,6 +96,9 @@ while getopts ":n:s:x:p:vrldh-:" opt; do d) DEPLOY_TEST_VM=1 ;; + b) + NVME_FILE=$OPTARG + ;; *) echo " Invalid argument: -$OPTARG" >&2 echo " Try: \"$0 -h\"" >&2 @@ -147,6 +152,7 @@ if [ ${VERBOSE} = 1 ]; then echo VAGRANT_TARGET=${VAGRANT_TARGET} echo HELP=$HELP echo DRY_RUN=$DRY_RUN + echo NVME_FILE=$NVME_FILE echo SPDK_VAGRANT_DISTRO=$SPDK_VAGRANT_DISTRO echo SPDK_VAGRANT_VMCPU=$SPDK_VAGRANT_VMCPU echo SPDK_VAGRANT_VMRAM=$SPDK_VAGRANT_VMRAM @@ -162,6 +168,7 @@ export SPDK_VAGRANT_VMRAM export SPDK_DIR export COPY_SPDK_DIR export DEPLOY_TEST_VM +export NVME_FILE if [ -n "$PROVIDER" ]; then provider="--provider=${PROVIDER}"