diff options
author | Sridhar Rao <sridhar.rao@spirent.com> | 2018-09-19 06:03:35 +0000 |
---|---|---|
committer | Gerrit Code Review <gerrit@opnfv.org> | 2018-09-19 06:03:35 +0000 |
commit | 665dcb2b00632384762f2cf9754b2e2cdce6a69d (patch) | |
tree | f2cc6b146b70248636dddddd220757401680cf44 | |
parent | ea0e4eff004fe37a5661a6e0da336edf44e6eb5c (diff) | |
parent | 190afc581ba32fec62473572af0654867efb9aa0 (diff) |
Merge "RHEL_75_INSTALL: Add install build script for RHEL 7.5 version"
-rw-r--r-- | docs/testing/user/configguide/installation.rst | 6 | ||||
-rwxr-xr-x | systems/rhel/7.5/build_base_machine.sh | 111 | ||||
-rwxr-xr-x | systems/rhel/7.5/prepare_python_env.sh | 28 |
3 files changed, 145 insertions, 0 deletions
diff --git a/docs/testing/user/configguide/installation.rst b/docs/testing/user/configguide/installation.rst index 51588007..fcf5b05d 100644 --- a/docs/testing/user/configguide/installation.rst +++ b/docs/testing/user/configguide/installation.rst @@ -53,6 +53,7 @@ Supported Operating Systems * SLES 15 * RedHat 7.2 Enterprise Linux * RedHat 7.3 Enterprise Linux +* RedHat 7.5 Enterprise Linux * Ubuntu 14.04 * Ubuntu 16.04 * Ubuntu 16.10 (kernel 4.8 requires DPDK 16.11 and newer) @@ -176,6 +177,11 @@ built from upstream source due to kernel incompatibilities. Please see the instructions in the vswitchperf_design document for details on configuring OVS Vanilla for binary package usage. +**NOTE:** For RHEL 7.5 Enterprise DPDK and Openvswitch are not built from +upstream sources due to kernel incompatibilities. Please use subscription +channels to obtain binary equivalents of openvswitch and dpdk packages or +build binaries using instructions from openvswitch.org and dpdk.org. + .. _vpp-installation: VPP installation diff --git a/systems/rhel/7.5/build_base_machine.sh b/systems/rhel/7.5/build_base_machine.sh new file mode 100755 index 00000000..2073a38c --- /dev/null +++ b/systems/rhel/7.5/build_base_machine.sh @@ -0,0 +1,111 @@ +#!/bin/bash +# +# Build a base machine for RHEL 7.3 +# +# 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\ + 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\ + numactl\ + numactl-devel\ + libpng-devel\ + sshpass\ +) + +# python tools for proper QEMU, DPDK, and OVS make +pkglist=( + "${pkglist[@]}"\ + python-six\ +) + +# install RHEL compatible epel for sshpass +yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm + +# 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 + +# install SCL for python34 by adding a repo to find its location to install it +cat <<'EOT' >> /etc/yum.repos.d/python34.repo +[centos-sclo-rh] +name=CentOS-7 - SCLo rh +baseurl=http://mirror.centos.org/centos/7/sclo/$basearch/rh/ +gpgcheck=0 +enabled=1 +gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-SCLo +EOT + +# install python34 packages and git-review tool +yum -y install $(echo " +rh-python34 +rh-python34-python-tkinter +" | grep -v ^#) + +# cleanup python 34 repo file +rm -f /etc/yum.repos.d/python34.repo + +# Create hugepage dirs +mkdir -p /dev/hugepages + +# prevent upstream from building from source due to kernel incompatibilities +sed -i s/'SUBBUILDS = src_vanilla'/'#SUBBUILDS = src_vanilla'/ ../src/Makefile +sed -i s/'SUBDIRS += dpdk'/'#SUBDIRS += dpdk'/ ../src/Makefile +sed -i s/'SUBDIRS += ovs'/'#SUBDIRS += ovs'/ ../src/Makefile diff --git a/systems/rhel/7.5/prepare_python_env.sh b/systems/rhel/7.5/prepare_python_env.sh new file mode 100755 index 00000000..047d6961 --- /dev/null +++ b/systems/rhel/7.5/prepare_python_env.sh @@ -0,0 +1,28 @@ +#!/bin/bash +# +# Prepare Python environment for vsperf execution on RHEL 7.3 systems. +# +# Copyright 2016-2017 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 + +scl enable rh-python34 " +virtualenv "$VSPERFENV_DIR" --python /opt/rh/rh-python34/root/usr/bin/python3 +source "$VSPERFENV_DIR"/bin/activate +pip install -r ../requirements.txt +" |