numam-spdk/scripts/vagrant/update.sh
Maciej Wawryk 9ebbf3acac scripts/pkgdep.sh: Add flag for developer tools installation
Signed-off-by: Maciej Wawryk <maciejx.wawryk@intel.com>
Change-Id: I8876fd7c60198c597d931c5f498644c415c2a868
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/596
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com>
2020-02-18 14:42:16 +00:00

95 lines
3.0 KiB
Bash
Executable File

#!/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
fi
# 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
fi
SYSTEM=$(uname -s)
if [ "$SYSTEM" = "FreeBSD" ]; then
# Do initial setup for the system
pkg upgrade -f
${SPDK_DIR}/scripts/pkgdep.sh --all
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
# 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
# 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
# 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 --all
elif [ "$DISTRIB_ID" == "CentOS" ]; then
# Standard update + upgrade dance
yum check-update
yum update -y
${SPDK_DIR}/scripts/pkgdep.sh --all
elif [ "$DISTRIB_ID" == "Fedora" ]; then
yum check-update
yum update -y
"$SPDK_DIR"/scripts/pkgdep.sh --all
sudo -u vagrant "$SPDK_DIR"/test/common/config/vm_setup.sh -i
fi
fi