scripts/vagrant: Add option to force boot of given distro
Signed-off-by: Michal Berger <michalx.berger@intel.com> Change-Id: I1b437ee8f63e7cc15e60f611fe0c814542c73ece Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/10131 Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Reviewed-by: Changpeng Liu <changpeng.liu@intel.com> Reviewed-by: Karol Latecki <karol.latecki@intel.com>
This commit is contained in:
parent
1e2c5b1f3d
commit
264e0a0a2b
13
scripts/vagrant/Vagrantfile
vendored
13
scripts/vagrant/Vagrantfile
vendored
@ -2,7 +2,7 @@
|
|||||||
# vi: set ft=ruby :
|
# vi: set ft=ruby :
|
||||||
|
|
||||||
require 'open3'
|
require 'open3'
|
||||||
def get_box_type(distro)
|
def get_box_type(distro, force_distro)
|
||||||
spdk_distro = 'spdk/' + distro
|
spdk_distro = 'spdk/' + distro
|
||||||
localboxes, stderr, status = Open3.capture3("vagrant box list")
|
localboxes, stderr, status = Open3.capture3("vagrant box list")
|
||||||
return spdk_distro if localboxes.include?(spdk_distro)
|
return spdk_distro if localboxes.include?(spdk_distro)
|
||||||
@ -19,9 +19,9 @@ def get_box_type(distro)
|
|||||||
'arch' => 'generic/arch',
|
'arch' => 'generic/arch',
|
||||||
'freebsd12' => 'generic/freebsd12',
|
'freebsd12' => 'generic/freebsd12',
|
||||||
}
|
}
|
||||||
abort("Invalid argument! #{distro}") unless distro_to_type.key?(distro)
|
abort("Invalid argument! #{distro}") unless distro_to_type.key?(distro) || force_distro
|
||||||
|
|
||||||
return distro_to_type[distro]
|
return distro_to_type[distro] ? distro_to_type[distro] : distro
|
||||||
end
|
end
|
||||||
|
|
||||||
def setup_proxy(config,distro)
|
def setup_proxy(config,distro)
|
||||||
@ -287,7 +287,10 @@ vmram = (ENV['SPDK_VAGRANT_VMRAM'] || 4096)
|
|||||||
# pre-installed, so use it.
|
# pre-installed, so use it.
|
||||||
# generic/fedora boxes on the other hand have problems running NFS
|
# generic/fedora boxes on the other hand have problems running NFS
|
||||||
# service so use sshfs+rsync combo instead.
|
# service so use sshfs+rsync combo instead.
|
||||||
if (get_box_type(distro).include?("generic/freebsd"))
|
force_distro = ENV['FORCE_DISTRO'] == "true" ? true : false
|
||||||
|
|
||||||
|
distro_to_use = get_box_type(distro, force_distro)
|
||||||
|
if (distro_to_use.include?("generic/freebsd"))
|
||||||
files_sync_backend = {type: :nfs, nfs_udp: false, mount_options: ['ro']}
|
files_sync_backend = {type: :nfs, nfs_udp: false, mount_options: ['ro']}
|
||||||
plugins_sync_backend = {type: :nfs, nfs_udp: false}
|
plugins_sync_backend = {type: :nfs, nfs_udp: false}
|
||||||
else
|
else
|
||||||
@ -300,7 +303,7 @@ else
|
|||||||
end
|
end
|
||||||
|
|
||||||
Vagrant.configure(2) do |config|
|
Vagrant.configure(2) do |config|
|
||||||
config.vm.box = get_box_type(distro)
|
config.vm.box = distro_to_use
|
||||||
config.vm.box_check_update = false
|
config.vm.box_check_update = false
|
||||||
config.vm.synced_folder '.', '/vagrant', disabled: true
|
config.vm.synced_folder '.', '/vagrant', disabled: true
|
||||||
|
|
||||||
|
@ -17,7 +17,7 @@ SPDK_DIR="$(cd "${DIR}/../../" && pwd)"
|
|||||||
# The command line help
|
# The command line help
|
||||||
display_help() {
|
display_help() {
|
||||||
echo
|
echo
|
||||||
echo " Usage: ${0##*/} [-b nvme-backing-file] [-n <num-cpus>] [-s <ram-size>] [-x <http-proxy>] [-hvrldcu] <distro>"
|
echo " Usage: ${0##*/} [-b nvme-backing-file] [-n <num-cpus>] [-s <ram-size>] [-x <http-proxy>] [-hvrldcuf] <distro>"
|
||||||
echo
|
echo
|
||||||
echo " distro = <centos7 | centos8| ubuntu1604 | ubuntu1804 | ubuntu2004 |"
|
echo " distro = <centos7 | centos8| ubuntu1604 | ubuntu1804 | ubuntu2004 |"
|
||||||
echo " fedora32 | fedora33 | fedora34 | freebsd11 | freebsd12 | arch | clearlinux>"
|
echo " fedora32 | fedora33 | fedora34 | freebsd11 | freebsd12 | arch | clearlinux>"
|
||||||
@ -48,7 +48,7 @@ display_help() {
|
|||||||
echo " -r dry-run"
|
echo " -r dry-run"
|
||||||
echo " -h help"
|
echo " -h help"
|
||||||
echo " -v verbose"
|
echo " -v verbose"
|
||||||
echo
|
echo " -f Force use of given distro, regardless if it's supported by the script or not."
|
||||||
echo " Examples:"
|
echo " Examples:"
|
||||||
echo
|
echo
|
||||||
echo " $0 -x http://user:password@host:port fedora33"
|
echo " $0 -x http://user:password@host:port fedora33"
|
||||||
@ -86,8 +86,9 @@ VAGRANT_PASSWORD_AUTH=0
|
|||||||
VAGRANT_PACKAGE_BOX=0
|
VAGRANT_PACKAGE_BOX=0
|
||||||
VAGRANT_HUGE_MEM=0
|
VAGRANT_HUGE_MEM=0
|
||||||
VAGRANTFILE=$DIR/Vagrantfile
|
VAGRANTFILE=$DIR/Vagrantfile
|
||||||
|
FORCE_DISTRO=false
|
||||||
|
|
||||||
while getopts ":b:n:s:x:p:uvcraldoHh-:" opt; do
|
while getopts ":b:n:s:x:p:uvcraldoHhf-:" opt; do
|
||||||
case "${opt}" in
|
case "${opt}" in
|
||||||
-)
|
-)
|
||||||
case "${OPTARG}" in
|
case "${OPTARG}" in
|
||||||
@ -146,6 +147,9 @@ while getopts ":b:n:s:x:p:uvcraldoHh-:" opt; do
|
|||||||
H)
|
H)
|
||||||
VAGRANT_HUGE_MEM=1
|
VAGRANT_HUGE_MEM=1
|
||||||
;;
|
;;
|
||||||
|
f)
|
||||||
|
FORCE_DISTRO=true
|
||||||
|
;;
|
||||||
*)
|
*)
|
||||||
echo " Invalid argument: -$OPTARG" >&2
|
echo " Invalid argument: -$OPTARG" >&2
|
||||||
echo " Try: \"$0 -h\"" >&2
|
echo " Try: \"$0 -h\"" >&2
|
||||||
@ -163,15 +167,16 @@ case "${SPDK_VAGRANT_DISTRO}" in
|
|||||||
ubuntu1[68]04 | ubuntu2004) ;&
|
ubuntu1[68]04 | ubuntu2004) ;&
|
||||||
fedora3[2-4]) ;&
|
fedora3[2-4]) ;&
|
||||||
freebsd1[12]) ;&
|
freebsd1[12]) ;&
|
||||||
arch | clearlinux)
|
arch | clearlinux) ;;
|
||||||
export SPDK_VAGRANT_DISTRO
|
|
||||||
;;
|
|
||||||
*)
|
*)
|
||||||
|
if [[ $FORCE_DISTRO == false ]]; then
|
||||||
echo " Invalid argument \"${SPDK_VAGRANT_DISTRO}\"" >&2
|
echo " Invalid argument \"${SPDK_VAGRANT_DISTRO}\"" >&2
|
||||||
echo " Try: \"$0 -h\"" >&2
|
echo " Try: \"$0 -h\"" >&2
|
||||||
exit 1
|
exit 1
|
||||||
|
fi
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
export SPDK_VAGRANT_DISTRO
|
||||||
|
|
||||||
if [ -z "$NVME_FILE" ]; then
|
if [ -z "$NVME_FILE" ]; then
|
||||||
TMP="/var/lib/libvirt/images/nvme_disk.img"
|
TMP="/var/lib/libvirt/images/nvme_disk.img"
|
||||||
@ -225,6 +230,7 @@ if [ ${VERBOSE} = 1 ]; then
|
|||||||
echo SPDK_OPENSTACK_NETWORK=$SPDK_OPENSTACK_NETWORK
|
echo SPDK_OPENSTACK_NETWORK=$SPDK_OPENSTACK_NETWORK
|
||||||
echo VAGRANT_PACKAGE_BOX=$VAGRANT_PACKAGE_BOX
|
echo VAGRANT_PACKAGE_BOX=$VAGRANT_PACKAGE_BOX
|
||||||
echo VAGRANTFILE=$VAGRANTFILE
|
echo VAGRANTFILE=$VAGRANTFILE
|
||||||
|
echo FORCE_DISTRO=$FORCE_DISTRO
|
||||||
echo
|
echo
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -243,6 +249,7 @@ export NVME_DISKS_NAMESPACES
|
|||||||
export NVME_FILE
|
export NVME_FILE
|
||||||
export VAGRANT_PASSWORD_AUTH
|
export VAGRANT_PASSWORD_AUTH
|
||||||
export VAGRANT_HUGE_MEM
|
export VAGRANT_HUGE_MEM
|
||||||
|
export FORCE_DISTRO
|
||||||
|
|
||||||
if [ -n "$SPDK_VAGRANT_PROVIDER" ]; then
|
if [ -n "$SPDK_VAGRANT_PROVIDER" ]; then
|
||||||
provider="--provider=${SPDK_VAGRANT_PROVIDER}"
|
provider="--provider=${SPDK_VAGRANT_PROVIDER}"
|
||||||
@ -271,6 +278,7 @@ if [ ${DRY_RUN} = 1 ]; then
|
|||||||
printenv SPDK_DIR
|
printenv SPDK_DIR
|
||||||
printenv VAGRANT_HUGE_MEM
|
printenv VAGRANT_HUGE_MEM
|
||||||
printenv VAGRANTFILE
|
printenv VAGRANTFILE
|
||||||
|
printenv FORCE_DISTRO
|
||||||
fi
|
fi
|
||||||
if [ -z "$VAGRANTFILE_DIR" ]; then
|
if [ -z "$VAGRANTFILE_DIR" ]; then
|
||||||
VAGRANTFILE_DIR="${VAGRANT_TARGET}/${SPDK_VAGRANT_DISTRO}-${SPDK_VAGRANT_PROVIDER}"
|
VAGRANTFILE_DIR="${VAGRANT_TARGET}/${SPDK_VAGRANT_DISTRO}-${SPDK_VAGRANT_PROVIDER}"
|
||||||
|
Loading…
Reference in New Issue
Block a user