scripts/vagrant: Allow to define path to a custom Vagrantfile

Also, instead of copying the Vagrantfile, simply symlink it.

Change-Id: I217fb76a809a36bb1ca419d055cae2044a44999f
Signed-off-by: Michal Berger <michalx.berger@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/4460
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-by: Mellanox Build Bot
This commit is contained in:
Michal Berger 2020-09-29 12:53:00 +02:00 committed by Tomasz Zawadzki
parent 8cbef7c0dc
commit 864e8fed8f

View File

@ -42,6 +42,7 @@ display_help() {
echo " --qemu-emulator=<path> Path to custom QEMU binary. Only works with libvirt provider" echo " --qemu-emulator=<path> Path to custom QEMU binary. Only works with libvirt provider"
echo " --vagrantfiles-dir=<path> Destination directory to put Vagrantfile into." echo " --vagrantfiles-dir=<path> Destination directory to put Vagrantfile into."
echo " --package-box Install all dependencies for SPDK and create a local vagrant box version." echo " --package-box Install all dependencies for SPDK and create a local vagrant box version."
echo " --vagrantfile=<path> Path to a custom Vagrantfile"
echo " -r dry-run" echo " -r dry-run"
echo " -h help" echo " -h help"
echo " -v verbose" echo " -v verbose"
@ -83,6 +84,7 @@ VAGRANTFILE_DIR=""
VAGRANT_PASSWORD_AUTH=0 VAGRANT_PASSWORD_AUTH=0
VAGRANT_PACKAGE_BOX=0 VAGRANT_PACKAGE_BOX=0
VAGRANT_HUGE_MEM=0 VAGRANT_HUGE_MEM=0
VAGRANTFILE=$DIR/Vagrantfile
while getopts ":b:n:s:x:p:uvcraldoHh-:" opt; do while getopts ":b:n:s:x:p:uvcraldoHh-:" opt; do
case "${opt}" in case "${opt}" in
@ -91,6 +93,7 @@ while getopts ":b:n:s:x:p:uvcraldoHh-:" opt; do
package-box) VAGRANT_PACKAGE_BOX=1 ;; package-box) VAGRANT_PACKAGE_BOX=1 ;;
qemu-emulator=*) SPDK_QEMU_EMULATOR="${OPTARG#*=}" ;; qemu-emulator=*) SPDK_QEMU_EMULATOR="${OPTARG#*=}" ;;
vagrantfiles-dir=*) VAGRANTFILE_DIR="${OPTARG#*=}" ;; vagrantfiles-dir=*) VAGRANTFILE_DIR="${OPTARG#*=}" ;;
vagrantfile=*) [[ -n ${OPTARG#*=} ]] && VAGRANTFILE="${OPTARG#*=}" ;;
*) echo "Invalid argument '$OPTARG'" ;; *) echo "Invalid argument '$OPTARG'" ;;
esac esac
;; ;;
@ -246,6 +249,7 @@ if [ ${VERBOSE} = 1 ]; then
echo SPDK_QEMU_EMULATOR=$SPDK_QEMU_EMULATOR echo SPDK_QEMU_EMULATOR=$SPDK_QEMU_EMULATOR
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 echo
fi fi
@ -290,6 +294,7 @@ if [ ${DRY_RUN} = 1 ]; then
printenv NVME_FILE printenv NVME_FILE
printenv SPDK_DIR printenv SPDK_DIR
printenv VAGRANT_HUGE_MEM printenv VAGRANT_HUGE_MEM
printenv VAGRANTFILE
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}"
@ -301,9 +306,14 @@ if [ -d "${VAGRANTFILE_DIR}" ]; then
exit 1 exit 1
fi fi
if [[ ! -f $VAGRANTFILE ]]; then
echo "$VAGRANTFILE is not a regular file!"
exit 1
fi
if [ ${DRY_RUN} != 1 ]; then if [ ${DRY_RUN} != 1 ]; then
mkdir -vp "${VAGRANTFILE_DIR}" mkdir -vp "${VAGRANTFILE_DIR}"
cp ${DIR}/Vagrantfile ${VAGRANTFILE_DIR} ln -s "$VAGRANTFILE" "${VAGRANTFILE_DIR}/Vagrantfile"
pushd "${VAGRANTFILE_DIR}" pushd "${VAGRANTFILE_DIR}"
if [ -n "${http_proxy}" ]; then if [ -n "${http_proxy}" ]; then
export http_proxy export http_proxy