From 86475967d31acc86d859d7eb06600f49e65b68f9 Mon Sep 17 00:00:00 2001 From: Pawel Piatek Date: Fri, 29 Jan 2021 11:22:18 +0100 Subject: [PATCH] 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: Pawel Piatek Change-Id: I71879bf635ecb275e805b6fcb3ec9d6bc3bc299f Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/6169 Tested-by: SPDK CI Jenkins Community-CI: Mellanox Build Bot Reviewed-by: Karol Latecki Reviewed-by: Michal Berger Reviewed-by: Tomasz Zawadzki Reviewed-by: Jim Harris --- scripts/vagrant/create_nvme_img.sh | 70 +++++++++++++++++------------- 1 file changed, 39 insertions(+), 31 deletions(-) diff --git a/scripts/vagrant/create_nvme_img.sh b/scripts/vagrant/create_nvme_img.sh index db758bd87..46573acef 100755 --- a/scripts/vagrant/create_nvme_img.sh +++ b/scripts/vagrant/create_nvme_img.sh @@ -41,37 +41,45 @@ while getopts "s:n:t:h-:" opt; do 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 ${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 +if [ "${SYSTEM}" != "Linux" ]; then + echo "This script supports only Linux OS" >&2 + exit 2 +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 +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 "${nvme_disk}_ocssd_md" + ;; + *) + echo "We support only nvme and ocssd disks types" + exit 1 + ;; +esac + +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"