aboutsummaryrefslogtreecommitdiffstats
path: root/systems
diff options
context:
space:
mode:
authorMartin Klozik <martinx.klozik@intel.com>2015-10-21 13:56:38 +0100
committerMaryam Tahhan <maryam.tahhan@intel.com>2015-10-23 13:58:15 +0000
commitf1227a6fc81552c59fa56fe63db872871982adcc (patch)
treeb7749620fa89407375fdbc57fad5d73df4eab6e9 /systems
parent52eacb37b9e6d11174c23bd053f7ad42b1581dd3 (diff)
systems directory scripts for Centos7
Installation scripts for Centos7 have been updated with new packages. Script will install also python3 packages and create python virtual environment. As a last step DPDK, OVS and QEMU will be compiled. So after script execution VSPERF should be ready for use. It is recommended to execute installation script from user account with password less sudo access. Otherwise python environment must be copied over from root home directory. After VSPERF generic Makefile will be created by VSPERF-114, it can be enhanced to call build script too. Change-Id: I6ff5d2660af29cf8be134a4cae3b1d7b559892fa JIRA: VSPERF-93 Signed-off-by: Martin Klozik <martinx.klozik@intel.com> Signed-off-by: Abdul Halim <abdul.halim@intel.com> Reviewed-by: Billy O Mahony <billy.o.mahony@intel.com> Reviewed-by: Brian Castelli <brian.castelli@spirent.com>
Diffstat (limited to 'systems')
-rwxr-xr-xsystems/CentOS/build_base_machine.sh64
-rwxr-xr-xsystems/CentOS/prepare_python_env.sh29
-rw-r--r--systems/README3
-rwxr-xr-xsystems/build_base_machine.sh49
4 files changed, 123 insertions, 22 deletions
diff --git a/systems/CentOS/build_base_machine.sh b/systems/CentOS/build_base_machine.sh
index d08a80bd..8339dd2d 100755
--- a/systems/CentOS/build_base_machine.sh
+++ b/systems/CentOS/build_base_machine.sh
@@ -18,31 +18,61 @@
#
# Contributors:
# Aihua Li, Huawei Technologies.
+# Martin Klozik, Intel Corporation.
# Synchronize package index files
yum -y update
-# this sould be installed if running from parent
-yum -y install redhat-lsb
+# Install required packages
+yum -y install $(echo "
-# Make and Compilers
-yum -y install make
-yum -y install automake
-yum -y install gcc
-yum -y install libxml2
+# Make, Compilers and devel
+make
+gcc
+gcc-c++
+libxml2
+glibc.i686
+kernel-devel
# tools
-yum -y install curl
-yum -y install autoconf libtool
+wget
+git
+scl-utils
+vim
+curl
+autoconf
+libtool
+automake
+pciutils
+cifs-utils
+sysstat
-yum -y install libpcap-devel
-yum -y install libnet
+# libs
+libpcap-devel
+libnet
+fuse
+fuse-libs
+fuse-devel
+zlib
+zlib-devel
+glib2-devel
+pixman-devel
+socat
# install gvim
-yum -y install vim-X11
+vim-X11
-# install git-review tool, it is not as intuitive as expected
-yum -y install epel-release
-wget http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm
-rpm -Uvh epel-release-7*.rpm
-yum -y install git-review
+# install epel release required for git-review
+epel-release
+" | grep -v ^#)
+
+# install SCL for python33
+wget https://www.softwarecollections.org/en/scls/rhscl/python33/epel-7-x86_64/download/rhscl-python33-epel-7-x86_64.noarch.rpm
+rpm -i rhscl-python33-epel-7-x86_64.noarch.rpm
+
+# install python33 packages and git-review tool
+yum -y install $(echo "
+python33
+python33-python-tkinter
+git-review
+" | grep -v ^#)
diff --git a/systems/CentOS/prepare_python_env.sh b/systems/CentOS/prepare_python_env.sh
new file mode 100755
index 00000000..5777448b
--- /dev/null
+++ b/systems/CentOS/prepare_python_env.sh
@@ -0,0 +1,29 @@
+#!/bin/bash
+#
+# Prepare Python 3 environment for vsperf execution
+#
+# Copyright 2015 OPNFV
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+if [ -d "$VSPERFENV_DIR" ] ; then
+ echo "Directory $VSPERFENV_DIR already exists. Skipping python virtualenv creation."
+ exit
+fi
+
+scl enable python33 "
+virtualenv "$VSPERFENV_DIR"
+source "$VSPERFENV_DIR"/bin/activate
+pip install -r ../requirements.txt
+pip install pylint
+"
diff --git a/systems/README b/systems/README
index e9498600..14967107 100644
--- a/systems/README
+++ b/systems/README
@@ -3,6 +3,7 @@ This folder abstract out details among linux distros.
One time setup:
---------------
-On a freshly built system, run the following with a super user privilege
+On a freshly built system, run the following with a super user privilege
+or with password less sudo access.
./build_base_machine.sh
diff --git a/systems/build_base_machine.sh b/systems/build_base_machine.sh
index 82cf4762..2b09f910 100755
--- a/systems/build_base_machine.sh
+++ b/systems/build_base_machine.sh
@@ -20,6 +20,13 @@
#
# Contributors:
# Aihua Li, Huawei Technologies.
+# Abdul Halim, Intel Corporation.
+# Martin Klozik, Intel Corporation.
+
+ROOT_UID=0
+SUDO=""
+
+export VSPERFENV_DIR="$HOME/vsperfenv"
# function to emit error message before quitting
function die() {
@@ -28,12 +35,46 @@ function die() {
}
# determine this machine's distro-version
+# replacing 'lsb_release' tool to detect OS distro name with using systemd distribution release file /etc/os-release
+# 'lsb_release' is not available by default on Fedora.
-distro=`lsb_release -i | cut -f 2`
-distro_dir=$distro
+. /etc/os-release
+
+# check if root
+if [ "$UID" -ne "$ROOT_UID" ]
+then
+ # installation must be run via sudo
+ SUDO="sudo -E"
+fi
+
+# Get distro name from variables imported; Special case for 'Fedora 22' - we need to get versions as well
+if [ "$NAME" == 'Fedora' -a $VERSION_ID -gt 21 ]
+then
+ distro_dir="$NAME$VERSION_ID"
+else
+ distro_dir=`echo "$NAME" | cut -d ' ' -f1`
+fi
+# build base system
if [ -d "$distro_dir" ] && [ -e $distro_dir/build_base_machine.sh ]; then
- $distro_dir/build_base_machine.sh
+ $SUDO $distro_dir/build_base_machine.sh
else
- die "$distro_dir is not yet supported"
+ die "$distro_dir is not yet supported"
+fi
+
+if [ -d "$distro_dir" ] && [ -e $distro_dir/prepare_python_env.sh ] ; then
+ $distro_dir/prepare_python_env.sh
+else
+ die "$distro_dir is not yet supported"
+fi
+
+if [ ! -d /lib/modules/`uname -r`/build ] ; then
+ die "Kernel devel is not available for active kernel. It can be caused by recent kernel update. Please reboot and run $0 again."
+fi
+
+# download and compile DPDK, OVS and QEMU
+if [ -f ../src/Makefile ] ; then
+ cd ../src
+ make
+ cd -
fi