aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoropensource-tnbt <sridhar.rao@spirent.com>2020-05-17 20:54:18 +0530
committeropensource-tnbt <sridhar.rao@spirent.com>2020-05-17 21:17:57 +0530
commitf8ef3e492f836069caab427d54775fdf114f5112 (patch)
tree6c0a1039db2b38c5cf09fc3ab6c19919cc56bf3b
parent85534e64085aadabfa43ae0073664a7ed401c4ef (diff)
Systems: Add support for Debian for VSPERF-Container.
This patch adds support for Debian for running vsperf in container. Perform library check only if not running in container. It is ok to run build_base_machine for vsperf in container. Signed-off-by: Sridhar K. N. Rao <sridhar.rao@spirent.com> Change-Id: Id1a4a8e49c15cdcf99f09b05fb94dd5b55c2642e
-rwxr-xr-xsystems/build_base_machine.sh20
-rwxr-xr-xsystems/debian/build_base_machine.sh39
-rwxr-xr-xsystems/debian/prepare_python_env.sh28
3 files changed, 77 insertions, 10 deletions
diff --git a/systems/build_base_machine.sh b/systems/build_base_machine.sh
index 075d1723..37b74ffe 100755
--- a/systems/build_base_machine.sh
+++ b/systems/build_base_machine.sh
@@ -55,14 +55,11 @@ else
distro_dir="$OS_NAME"
fi
-if [ $# -eq 0 ]; then
- echo "No parameters provided - continuing with Normal Build"
- # build base system using OS specific scripts
- if [ -d "$distro_dir" ] && [ -e "$distro_dir/build_base_machine.sh" ]; then
- $SUDO $distro_dir/build_base_machine.sh || die "$distro_dir/build_base_machine.sh failed"
- else
- die "$distro_dir is not yet supported"
-fi
+# build base system using OS specific scripts
+if [ -d "$distro_dir" ] && [ -e "$distro_dir/build_base_machine.sh" ]; then
+ $SUDO $distro_dir/build_base_machine.sh || die "$distro_dir/build_base_machine.sh failed"
+else
+ die "$distro_dir is not yet supported"
fi
if [ -d "$distro_dir" ] && [ -e "$distro_dir/prepare_python_env.sh" ] ; then
@@ -71,8 +68,11 @@ 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."
+if [ $# -eq 0 ]; then
+ echo "No parameters provided - continuing with Lib checking"
+ 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
fi
if [ $# -eq 0 ]; then
diff --git a/systems/debian/build_base_machine.sh b/systems/debian/build_base_machine.sh
new file mode 100755
index 00000000..cc3f1eb8
--- /dev/null
+++ b/systems/debian/build_base_machine.sh
@@ -0,0 +1,39 @@
+#!/bin/bash
+#
+# Build a base machine for Debian style distro
+#
+# Copyright 2020 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.
+#
+# Contributors:
+# Sridhar K. N. Rao Spirent Communications
+
+# This is meant to be used only for Containerized VSPERF.
+
+# Synchronize package index files
+apt-get -y update
+apt-get -y install curl
+apt-get -y install git
+apt-get -y install wget
+apt-get -y install python3-venv
+
+# Make and Compilers
+apt-get -y install make
+apt-get -y install automake
+apt-get -y install gcc
+apt-get -y install g++
+apt-get -y install libssl1.1
+apt-get -y install libxml2
+apt-get -y install zlib1g-dev
+apt-get -y install scapy
diff --git a/systems/debian/prepare_python_env.sh b/systems/debian/prepare_python_env.sh
new file mode 100755
index 00000000..7c3b530b
--- /dev/null
+++ b/systems/debian/prepare_python_env.sh
@@ -0,0 +1,28 @@
+#!/bin/bash
+#
+# Prepare Python environment for vsperf execution on Debian systems
+#
+# Copyright 2020 OPNFV, Spirent Communications
+#
+# 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
+
+(python3 -m venv "$VSPERFENV_DIR"
+source "$VSPERFENV_DIR"/bin/activate
+pip install -r ../requirements.txt)