From f8ef3e492f836069caab427d54775fdf114f5112 Mon Sep 17 00:00:00 2001 From: opensource-tnbt Date: Sun, 17 May 2020 20:54:18 +0530 Subject: 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 Change-Id: Id1a4a8e49c15cdcf99f09b05fb94dd5b55c2642e --- systems/build_base_machine.sh | 20 +++++++++--------- systems/debian/build_base_machine.sh | 39 ++++++++++++++++++++++++++++++++++++ systems/debian/prepare_python_env.sh | 28 ++++++++++++++++++++++++++ 3 files changed, 77 insertions(+), 10 deletions(-) create mode 100755 systems/debian/build_base_machine.sh create mode 100755 systems/debian/prepare_python_env.sh 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) -- cgit 1.2.3-korg