scripts/vagrant: Add support for loading extra Vagrantfiles
This allows our setup to be more flexible - extra Vagrantfiles can provide additional configuration which may override|extend existing configuration without having a support for specific set of options on our end. CI will attempt to use this functionality to mitigate the following issue: https://github.com/spdk/spdk/issues/2628 Signed-off-by: Michal Berger <michal.berger@intel.com> Change-Id: I80cbe67b2fe3618f93e9233e0586417b208f987b Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/13929 Reviewed-by: Pawel Piatek <pawelx.piatek@intel.com> Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
This commit is contained in:
parent
66f47a03fb
commit
8aee39f906
7
scripts/vagrant/Vagrantfile
vendored
7
scripts/vagrant/Vagrantfile
vendored
@ -366,3 +366,10 @@ Vagrant.configure(2) do |config|
|
|||||||
# provision the vm with all of the necessary spdk dependencies for running the autorun.sh tests
|
# provision the vm with all of the necessary spdk dependencies for running the autorun.sh tests
|
||||||
deploy_test_vm(config, distro, plugins_sync_backend)
|
deploy_test_vm(config, distro, plugins_sync_backend)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
if ENV['EXTRA_VAGRANTFILES']
|
||||||
|
loaders = (ENV['EXTRA_VAGRANTFILES'].split(','))
|
||||||
|
loaders.each { |loader|
|
||||||
|
load loader if File.exists?(loader)
|
||||||
|
}
|
||||||
|
end
|
||||||
|
@ -46,6 +46,7 @@ display_help() {
|
|||||||
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 " --vagrantfile=<path> Path to a custom Vagrantfile"
|
||||||
|
echo " --extra-vagrantfiles=<path> Comma separated list of files to load from within main Vagrantfile"
|
||||||
echo " -r dry-run"
|
echo " -r dry-run"
|
||||||
echo " -h help"
|
echo " -h help"
|
||||||
echo " -v verbose"
|
echo " -v verbose"
|
||||||
@ -91,6 +92,7 @@ VAGRANT_HUGE_MEM=0
|
|||||||
VAGRANTFILE=$DIR/Vagrantfile
|
VAGRANTFILE=$DIR/Vagrantfile
|
||||||
FORCE_DISTRO=false
|
FORCE_DISTRO=false
|
||||||
VAGRANT_BOX_VERSION=""
|
VAGRANT_BOX_VERSION=""
|
||||||
|
EXTRA_VAGRANTFILES=""
|
||||||
|
|
||||||
while getopts ":b:n:s:x:p:uvcraldoHhf-:" opt; do
|
while getopts ":b:n:s:x:p:uvcraldoHhf-:" opt; do
|
||||||
case "${opt}" in
|
case "${opt}" in
|
||||||
@ -101,6 +103,7 @@ while getopts ":b:n:s:x:p:uvcraldoHhf-:" opt; do
|
|||||||
vagrantfiles-dir=*) VAGRANTFILE_DIR="${OPTARG#*=}" ;;
|
vagrantfiles-dir=*) VAGRANTFILE_DIR="${OPTARG#*=}" ;;
|
||||||
vagrantfile=*) [[ -n ${OPTARG#*=} ]] && VAGRANTFILE="${OPTARG#*=}" ;;
|
vagrantfile=*) [[ -n ${OPTARG#*=} ]] && VAGRANTFILE="${OPTARG#*=}" ;;
|
||||||
box-version=*) [[ -n ${OPTARG#*=} ]] && VAGRANT_BOX_VERSION="${OPTARG#*=}" ;;
|
box-version=*) [[ -n ${OPTARG#*=} ]] && VAGRANT_BOX_VERSION="${OPTARG#*=}" ;;
|
||||||
|
extra-vagrantfiles=*) [[ -n ${OPTARG#*=} ]] && EXTRA_VAGRANTFILES="${OPTARG#*=}" ;;
|
||||||
*) echo "Invalid argument '$OPTARG'" ;;
|
*) echo "Invalid argument '$OPTARG'" ;;
|
||||||
esac
|
esac
|
||||||
;;
|
;;
|
||||||
@ -233,6 +236,7 @@ if [ ${VERBOSE} = 1 ]; then
|
|||||||
echo VAGRANTFILE=$VAGRANTFILE
|
echo VAGRANTFILE=$VAGRANTFILE
|
||||||
echo FORCE_DISTRO=$FORCE_DISTRO
|
echo FORCE_DISTRO=$FORCE_DISTRO
|
||||||
echo VAGRANT_BOX_VERSION=$VAGRANT_BOX_VERSION
|
echo VAGRANT_BOX_VERSION=$VAGRANT_BOX_VERSION
|
||||||
|
echo EXTRA_VAGRANTFILES=$EXTRA_VAGRANTFILES
|
||||||
echo
|
echo
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -254,6 +258,7 @@ export VAGRANT_PASSWORD_AUTH
|
|||||||
export VAGRANT_HUGE_MEM
|
export VAGRANT_HUGE_MEM
|
||||||
export FORCE_DISTRO
|
export FORCE_DISTRO
|
||||||
export VAGRANT_BOX_VERSION
|
export VAGRANT_BOX_VERSION
|
||||||
|
export EXTRA_VAGRANTFILES
|
||||||
|
|
||||||
if [ -n "$SPDK_VAGRANT_PROVIDER" ]; then
|
if [ -n "$SPDK_VAGRANT_PROVIDER" ]; then
|
||||||
provider="--provider=${SPDK_VAGRANT_PROVIDER}"
|
provider="--provider=${SPDK_VAGRANT_PROVIDER}"
|
||||||
@ -284,6 +289,7 @@ if [ ${DRY_RUN} = 1 ]; then
|
|||||||
printenv VAGRANTFILE
|
printenv VAGRANTFILE
|
||||||
printenv FORCE_DISTRO
|
printenv FORCE_DISTRO
|
||||||
printenv VAGRANT_BOX_VERSION
|
printenv VAGRANT_BOX_VERSION
|
||||||
|
printenv EXTRA_VAGRANTFILES
|
||||||
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