Commit 86475967 authored by Pawel Piatek's avatar Pawel Piatek Committed by Tomasz Zawadzki
Browse files

scripts/vagrant: create nvme refactoring



- throw error instead of silently skipping create disks on
  non-linux OS
- early return/exit from script
- add quotes around disk name
- use case/esac to check WHICH_OS
- other small syntax changes

Signed-off-by: default avatarPawel Piatek <pawelx.piatek@intel.com>
Change-Id: I71879bf635ecb275e805b6fcb3ec9d6bc3bc299f
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/6169


Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
Community-CI: Mellanox Build Bot
Reviewed-by: default avatarKarol Latecki <karol.latecki@intel.com>
Reviewed-by: default avatarMichal Berger <michalx.berger@intel.com>
Reviewed-by: default avatarTomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-by: default avatarJim Harris <james.r.harris@intel.com>
parent 0081cfea
Loading
Loading
Loading
Loading
+39 −31
Original line number Diff line number Diff line
@@ -41,37 +41,45 @@ while getopts "s:n:t:h-:" opt; do
	esac
done

if [ ! "${SYSTEM}" = "FreeBSD" ]; then
if [ "${SYSTEM}" != "Linux" ]; then
	echo "This script supports only Linux OS" >&2
	exit 2
fi

WHICH_OS=$(lsb_release -i | awk '{print $3}')
case $type in
	"nvme")
			qemu-img create -f raw $nvme_disk $size
		qemu-img create -f raw "$nvme_disk" $size
		;;
	"ocssd")
		if [ $size == "1024M" ]; then
			size="9G"
		fi
			fallocate -l $size $nvme_disk
			touch ${nvme_disk}_ocssd_md
		fallocate -l $size "$nvme_disk"
		touch "${nvme_disk}_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
	if [ $WHICH_OS == "Fedora" ]; then
		chown qemu:qemu $nvme_disk
	elif [ $WHICH_OS == "Ubuntu" ]; then
		chown libvirt-qemu:kvm $nvme_disk
	else
case $WHICH_OS in
	"Fedora")
		qemu_user_group="qemu:qemu"

		# Change SE Policy
		sudo chcon -t svirt_image_t "$nvme_disk"
		;;
	"Ubuntu")
		qemu_user_group="libvirt-qemu:kvm"
		;;
	*)
		# That's just a wild guess for now
		# TODO: needs improvement for other distros
		chown libvirt-qemu:kvm $nvme_disk
	fi
fi
		qemu_user_group="libvirt-qemu:kvm"
		;;
esac

chmod 777 "$nvme_disk"
chown $qemu_user_group "$nvme_disk"