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>
This commit is contained in:
parent
029251878d
commit
1d95f22d62
@ -1,13 +1,15 @@
|
||||
#!/usr/bin/env bash
|
||||
SYSTEM=$(uname -s)
|
||||
size="1024M"
|
||||
name="nvme_disk.img"
|
||||
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 "-n <backing file name> default: nvme_disk.img"
|
||||
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"
|
||||
}
|
||||
|
||||
@ -22,7 +24,7 @@ while getopts "s:n:t:h-:" opt; do
|
||||
size=$OPTARG
|
||||
;;
|
||||
n)
|
||||
name=$OPTARG
|
||||
nvme_disk=$OPTARG
|
||||
;;
|
||||
t)
|
||||
type=$OPTARG
|
||||
@ -41,12 +43,14 @@ done
|
||||
|
||||
if [ ! "${SYSTEM}" = "FreeBSD" ]; then
|
||||
WHICH_OS=$(lsb_release -i | awk '{print $3}')
|
||||
nvme_disk="/var/lib/libvirt/images/$name"
|
||||
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
|
||||
;;
|
||||
|
@ -24,6 +24,7 @@ display_help() {
|
||||
echo " usage: type <number_of_namespaces> types available: ocssd, nvme"
|
||||
echo " If no -b option is specified then this option defaults to emulating single"
|
||||
echo " NVMe with 1 namespace and assumes path: /var/lib/libvirt/images/nvme_disk.img"
|
||||
echo " -c create all above disk, default 0"
|
||||
echo " -s <ram-size> in kb default: ${SPDK_VAGRANT_VMRAM}"
|
||||
echo " -n <num-cpus> 1 to 4 default: ${SPDK_VAGRANT_VMCPU}"
|
||||
echo " -x <http-proxy> default: \"${SPDK_VAGRANT_HTTP_PROXY}\""
|
||||
@ -69,9 +70,10 @@ OPTIND=1
|
||||
NVME_DISKS_TYPE=""
|
||||
NVME_DISKS_NAMESPACES=""
|
||||
NVME_FILE=""
|
||||
NVME_AUTO_CREATE=0
|
||||
VAGRANTFILE_DIR=""
|
||||
|
||||
while getopts ":b:n:s:x:p:vrldh-:" opt; do
|
||||
while getopts ":b:n:s:x:p:vcrldh-:" opt; do
|
||||
case "${opt}" in
|
||||
-)
|
||||
case "${OPTARG}" in
|
||||
@ -99,6 +101,9 @@ while getopts ":b:n:s:x:p:vrldh-:" opt; do
|
||||
v)
|
||||
VERBOSE=1
|
||||
;;
|
||||
c)
|
||||
NVME_AUTO_CREATE=1
|
||||
;;
|
||||
r)
|
||||
DRY_RUN=1
|
||||
;;
|
||||
@ -180,6 +185,9 @@ else
|
||||
namespace="1"
|
||||
fi
|
||||
NVME_DISKS_NAMESPACES+="$namespace,";
|
||||
if [ ${NVME_AUTO_CREATE} = 1 ]; then
|
||||
$SPDK_DIR/scripts/vagrant/create_nvme_img.sh -t $type -n $path
|
||||
fi
|
||||
done <<< $args
|
||||
done
|
||||
fi
|
||||
@ -194,6 +202,7 @@ if [ ${VERBOSE} = 1 ]; then
|
||||
echo DRY_RUN=$DRY_RUN
|
||||
echo NVME_FILE=$NVME_FILE
|
||||
echo NVME_DISKS_TYPE=$NVME_DISKS_TYPE
|
||||
echo NVME_AUTO_CREATE=$NVME_AUTO_CREATE
|
||||
echo NVME_DISKS_NAMESPACES=$NVME_DISKS_NAMESPACES
|
||||
echo SPDK_VAGRANT_DISTRO=$SPDK_VAGRANT_DISTRO
|
||||
echo SPDK_VAGRANT_VMCPU=$SPDK_VAGRANT_VMCPU
|
||||
@ -245,6 +254,7 @@ if [ ${DRY_RUN} = 1 ]; then
|
||||
printenv SPDK_VAGRANT_HTTP_PROXY
|
||||
printenv SPDK_QEMU_EMULATOR
|
||||
printenv NVME_DISKS_TYPE
|
||||
printenv NVME_AUTO_CREATE
|
||||
printenv NVME_DISKS_NAMESPACES
|
||||
printenv NVME_FILE
|
||||
printenv SPDK_DIR
|
||||
|
Loading…
x
Reference in New Issue
Block a user