summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristian Trautman <ctrautma@redhat.com>2016-03-11 13:48:58 -0500
committerMaryam Tahhan <maryam.tahhan@intel.com>2016-03-14 13:58:06 +0000
commitbc1c22c6391745759c8e85f5d4070abf259269d8 (patch)
treece83a123e0cf765e9a80ff296e6ea6a464deb6d8
parent5853025b59cb6e44f23a1d245a58a2cd286e03dc (diff)
Install: Adding RedHat 7.2 Installation bash scripts
Adding in prepare_python_env.sh and build_base_machine.sh scripts to appropriate systems folder for installation on Red Hat 7.2. Modified installation.rst to reflect these changes. * Fixed Header to add Red Hat * Added myself as contributor JIRA: VSPERF-214 Change-Id: I23a10316e77c3cec67b7f25176e8707de683af09 Signed-off-by: Christian Trautman <ctrautma@redhat.com> Reviewed-by: Al Morton <acmorton@att.com> Reviewed-by: Maryam Tahhan <maryam.tahhan@intel.com>
-rwxr-xr-xdocs/configguide/installation.rst14
-rwxr-xr-xsystems/Red/7.2/build_base_machine.sh98
-rwxr-xr-xsystems/Red/7.2/prepare_python_env.sh34
3 files changed, 140 insertions, 6 deletions
diff --git a/docs/configguide/installation.rst b/docs/configguide/installation.rst
index b4aaf60b..354979b0 100755
--- a/docs/configguide/installation.rst
+++ b/docs/configguide/installation.rst
@@ -13,6 +13,7 @@ Supported Operating Systems
* Fedora 20
* Fedora 21
* Fedora 22
+* RedHat 7.2
* Ubuntu 14.04
Supported vSwitches
@@ -77,10 +78,11 @@ automatically.
Script **build_base_machine.sh** will install all the vsperf dependencies
in terms of system packages, Python 3.x and required Python modules.
In case of CentOS 7 it will install Python 3.3 from an additional repository
-provided by Software Collections (`a link`_). Installation script will also
-use `virtualenv`_ to create a vsperf virtual environment, which is isolated
-from the default Python environment. This environment will reside
-in a directory called **vsperfenv** in $HOME.
+provided by Software Collections (`a link`_). In case of RedHat 7 it will
+install Python 3.4 as an alternate installation in /usr/local/bin. Installation
+script will also use `virtualenv`_ to create a vsperf virtual environment,
+which is isolated from the default Python environment. This environment will
+reside in a directory called **vsperfenv** in $HOME.
You will need to activate the virtual environment every time you start a
new shell session. Its activation is specific to your OS:
@@ -94,8 +96,8 @@ CentOS 7
$ cd $HOME/vsperfenv
$ source bin/activate
-Fedora and Ubuntu
-=================
+Fedora, RedHat and Ubuntu
+=========================
.. code:: bash
diff --git a/systems/Red/7.2/build_base_machine.sh b/systems/Red/7.2/build_base_machine.sh
new file mode 100755
index 00000000..a038f7b3
--- /dev/null
+++ b/systems/Red/7.2/build_base_machine.sh
@@ -0,0 +1,98 @@
+#!/bin/bash
+#
+# Build a base machine for RHEL 7.2
+#
+# Copyright 2016 OPNFV, Intel Corporation & Red Hat Inc.
+#
+# 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.
+#
+# Contributors:
+# Aihua Li, Huawei Technologies.
+# Martin Klozik, Intel Corporation.
+# Abdul Halim, Intel Corporation.
+# Christian Trautman, Red Hat Inc.
+
+# Make and Compilers
+pkglist=(\
+ automake\
+ fuse-devel\
+ gcc\
+ gcc-c++\
+ glib2-devel\
+ glibc.i686\
+ kernel-devel\
+ openssl-devel\
+ pixman-devel\
+ sysstat\
+)
+
+# Tools
+pkglist=(
+ "${pkglist[@]}"\
+ git\
+ libtool\
+ libpcap-devel\
+ libnet\
+ net-tools\
+ openssl\
+ openssl-devel\
+ pciutils\
+ socat\
+ tk-devel\
+ wget\
+)
+
+# python tools for proper QEMU, DPDK, and OVS make
+pkglist=(
+ "${pkglist[@]}"\
+ python-six\
+)
+
+# Iterate installing each package. If packages fail to install, record those
+# packages and exit with an error message on completion. Customer may need to
+# add repo locations and subscription levels.
+failedinstall=()
+for pkg in ${pkglist[*]}; do
+ echo "Installing ${pkg}"
+ yum -y install ${pkg} || failedinstall=("${failedinstall[*]}" "$pkg")
+done
+
+if [ "${#failedinstall[*]}" -gt 0 ]; then
+ echo "The following packages failed to install. Please add appropriate repo\
+ locations and/or subscription levels. Then run the build script again."
+ for fail in ${failedinstall[*]}; do
+ echo $fail
+ done
+ exit 1
+fi
+
+# python34 is not yet available to Red Hat customers so we will just build
+# it as an alternate install in usr/local for use with VSPerf. This prevents
+# any functionality issues with pre-installed packages using python.
+wget https://www.python.org/ftp/python/3.4.2/Python-3.4.2.tar.xz
+tar -xf Python-3.4.2.tar.xz
+cd Python-3.4.2
+./configure
+make
+make altinstall
+cd ..
+
+# cleanup
+rm -Rf Python-3.4.2
+rm -f Python-3.4.2.tar.xz
+
+# need virtualenv
+pip3.4 install virtualenv
+
+# Create hugepage dirs
+mkdir -p /dev/hugepages \ No newline at end of file
diff --git a/systems/Red/7.2/prepare_python_env.sh b/systems/Red/7.2/prepare_python_env.sh
new file mode 100755
index 00000000..1d51380a
--- /dev/null
+++ b/systems/Red/7.2/prepare_python_env.sh
@@ -0,0 +1,34 @@
+#!/bin/bash
+#
+# Prepare Python environment for vsperf execution on Red Hat 7.2 systems.
+#
+# Copyright 2016 OPNFV, Intel Corporation, Red Hat Inc.
+#
+# 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
+
+# enable virtual environment in a subshell, so QEMU build can use python 2.7
+# Also make sure we know which virtualenv was installed. I've seen the file
+# name change pending on what type of installation was done.
+virtualenv_file=$(ls /usr/local/bin | awk '/virtualenv/')
+
+($virtualenv_file "$VSPERFENV_DIR"
+source "$VSPERFENV_DIR"/bin/activate
+pip3.4 install -r ../requirements.txt
+pip3.4 install pylint
+) \ No newline at end of file