2018-06-19 03:58:46 +00:00
|
|
|
#!/usr/bin/env bash
|
|
|
|
|
|
|
|
if [ ! "$USER" = "root" ]; then
|
|
|
|
echo
|
|
|
|
echo Error: must be run as root!
|
|
|
|
echo
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
|
|
|
|
set -e
|
|
|
|
|
|
|
|
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
|
|
|
SPDK_DIR="$( cd "${DIR}/../../" && pwd )"
|
|
|
|
echo "SPDK_DIR = $SPDK_DIR"
|
|
|
|
|
|
|
|
# Bug fix for vagrant rsync problem
|
|
|
|
if [ -d /home/vagrant/spdk_repo ]; then
|
|
|
|
echo "Fixing permissions on /home/vagrant/spdk_repo"
|
|
|
|
chown vagrant /home/vagrant/spdk_repo
|
|
|
|
chgrp vagrant /home/vagrant/spdk_repo
|
2017-04-28 17:18:24 +00:00
|
|
|
fi
|
|
|
|
|
2018-06-19 03:58:46 +00:00
|
|
|
# Setup for run-autorun.sh
|
|
|
|
if [ ! -f /home/vagrant/autorun-spdk.conf ]; then
|
|
|
|
echo "Copying scripts/vagrant/autorun-spdk.conf to /home/vagrant"
|
|
|
|
cp ${SPDK_DIR}/scripts/vagrant/autorun-spdk.conf /home/vagrant
|
|
|
|
chown vagrant /home/vagrant/autorun-spdk.conf
|
|
|
|
chgrp vagrant /home/vagrant/autorun-spdk.conf
|
2017-04-28 17:18:24 +00:00
|
|
|
fi
|
|
|
|
|
2018-06-19 03:58:46 +00:00
|
|
|
SYSTEM=`uname -s`
|
|
|
|
|
|
|
|
if [ "$SYSTEM" = "FreeBSD" ]; then
|
|
|
|
# Do initial setup for the system
|
|
|
|
pkg upgrade -f
|
|
|
|
${SPDK_DIR}/scripts/pkgdep.sh
|
|
|
|
if [ -d /usr/src/.git ]; then
|
|
|
|
echo
|
|
|
|
echo "/usr/src/ is a git repository"
|
|
|
|
echo "consider \"cd /usr/src/; git pull\" to update"
|
|
|
|
echo
|
|
|
|
else
|
|
|
|
git clone --depth 10 -b release/11.1.0 https://github.com/freebsd/freebsd.git /usr/src
|
|
|
|
fi
|
|
|
|
else
|
2017-04-28 17:18:24 +00:00
|
|
|
|
2018-06-19 03:58:46 +00:00
|
|
|
# Make sure that we get the hugepages we need on provision boot
|
|
|
|
# Note: The package install should take care of this at the end
|
|
|
|
# But sometimes after all the work of provisioning, we can't
|
|
|
|
# get the requested number of hugepages without rebooting.
|
|
|
|
# So do it here just in case
|
|
|
|
sysctl -w vm.nr_hugepages=1024
|
|
|
|
HUGEPAGES=`sysctl -n vm.nr_hugepages`
|
|
|
|
if [ $HUGEPAGES != 1024 ]; then
|
|
|
|
echo "Warning: Unable to get 1024 hugepages, only got $HUGEPAGES"
|
|
|
|
echo "Warning: Adjusting HUGEMEM in /home/vagrant/autorun-spdk.conf"
|
|
|
|
sed "s/HUGEMEM=.*$/HUGEMEM=${HUGEPAGES}/g" /home/vagrant/autorun-spdk.conf > /home/vagrant/foo.conf
|
|
|
|
mv -f /home/vagrant/foo.conf /home/vagrant/autorun-spdk.conf
|
|
|
|
fi
|
2017-04-28 17:18:24 +00:00
|
|
|
|
2018-06-19 03:58:46 +00:00
|
|
|
# Figure out what system we are running on
|
|
|
|
if [ -f /etc/lsb-release ];then
|
|
|
|
. /etc/lsb-release
|
|
|
|
elif [ -f /etc/redhat-release ];then
|
|
|
|
yum update -y
|
|
|
|
yum install -y redhat-lsb
|
|
|
|
DISTRIB_ID=`lsb_release -si`
|
|
|
|
DISTRIB_RELEASE=`lsb_release -sr`
|
|
|
|
DISTRIB_CODENAME=`lsb_release -sc`
|
|
|
|
DISTRIB_DESCRIPTION=`lsb_release -sd`
|
|
|
|
fi
|
2017-04-28 17:18:24 +00:00
|
|
|
|
2018-06-19 03:58:46 +00:00
|
|
|
# Do initial setup for the system
|
|
|
|
if [ "$DISTRIB_ID" == "Ubuntu" ]; then
|
|
|
|
set -xv
|
|
|
|
export DEBIAN_PRIORITY=critical
|
|
|
|
export DEBIAN_FRONTEND=noninteractive
|
|
|
|
export DEBCONF_NONINTERACTIVE_SEEN=true
|
|
|
|
# Standard update + upgrade dance
|
|
|
|
apt-get update --assume-yes --no-install-suggests --no-install-recommends -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold"
|
|
|
|
apt-get upgrade --assume-yes --no-install-suggests --no-install-recommends -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold"
|
|
|
|
${SPDK_DIR}/scripts/pkgdep.sh
|
|
|
|
elif [ "$DISTRIB_ID" == "CentOS" ]; then
|
|
|
|
# Standard update + upgrade dance
|
|
|
|
yum check-update
|
|
|
|
yum update -y
|
|
|
|
${SPDK_DIR}/scripts/pkgdep.sh
|
|
|
|
elif [ "$DISTRIB_ID" == "Fedora" ]; then
|
|
|
|
if [ "$DISTRIB_RELEASE" = "26" ]; then
|
|
|
|
echo
|
|
|
|
echo " Run \"${SPDK_DIR}/test/common/config/vm_setup.sh\" to complete setup of Fedora 26"
|
|
|
|
echo
|
|
|
|
else
|
|
|
|
yum check-update
|
|
|
|
yum update -y
|
|
|
|
${SPDK_DIR}/scripts/pkgdep.sh
|
|
|
|
fi
|
|
|
|
fi
|
2017-04-28 17:18:24 +00:00
|
|
|
fi
|