X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=build%2Ftest_ovs_rpm.sh;h=6fff26ae5754c4ecddeda44cf368a9f14e292264;hb=5be83facc4d003b1d34afbd887865317cfdfd5ef;hp=fce5ca43646ca002bde11553fcfe9802cb5e0b5a;hpb=9e423f6b53784b231ecb3c244bd7f279e94b5ffb;p=ovsnfv.git diff --git a/build/test_ovs_rpm.sh b/build/test_ovs_rpm.sh index fce5ca4..6fff26a 100755 --- a/build/test_ovs_rpm.sh +++ b/build/test_ovs_rpm.sh @@ -1,22 +1,35 @@ #!/bin/bash -############################################################################## -# Copyright (c) 2016 Red Hat Inc. and others. -# therbert@redhat.com -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Apache License, Version 2.0 -# which accompanies this distribution, and is available at -# http://www.apache.org/licenses/LICENSE-2.0 -############################################################################## + +# Copyright (c) 2016 Open Platform for NFV Project, Inc. and its contributors +# +# 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. + set -e -declare -i CNT echo "===============================" +echo "Requires sudo privileges" echo executing $0 $@ echo executing on machine `uname -a` usage() { - echo run BuildAndTest -h for help + echo $0 [-d] [-k] + echo -d -- Test with DPDK + echo -k -- Load linux kernel module +} + +function uninstallrpms() { + cleanrpms } while getopts "dg:hkp:u:v" opt; do @@ -47,6 +60,9 @@ HOME=`pwd` TOPDIR=$HOME TMPDIR=$TOPDIR/ovsrpm +BUILDDIR=$HOME +source $BUILDDIR/functions.sh + if [ -d $TMPDIR ] then rm -rf $TMPDIR @@ -56,26 +72,62 @@ mkdir -p $TMPDIR cd $TMPDIR -mkdir -p $HOME/rpmbuild/RPMS +mkdir -p $HOME/rpmbuild/RPMS/x86_64 mkdir -p $HOME/rpmbuild/SOURCES mkdir -p $HOME/rpmbuild/SPECS mkdir -p $HOME/rpmbuild/SRPMS RPMDIR=$HOME/rpmbuild +cp $HOME/*.rpm $RPMDIR/RPMS/x86_64 + +function stopovs() { + set +e + /bin/systemctl is-active openvswitch.service + if [ $? -eq 0 ]; then + sudo /bin/systemctl stop openvswitch.service + fi + set -e +} + +echo "-----------------------------------" +echo "Clean old dpdk and ovs installations" +echo +stopovs +cleanrpms + +if [ ! -z $DPDK ]; then + if [ -z $DPDK_VERSION ]; then + DPDK_VERSION=16.04.0 + fi + echo "-----------------------------------" + echo "Install DPDK RPMs for version $DPDK_VERSION" + echo + sudo rpm -ivh $RPMDIR/RPMS/x86_64/dpdk-${DPDK_VERSION:0:1}*.rpm + sudo rpm -ivh $RPMDIR/RPMS/x86_64/dpdk-tools-${DPDK_VERSION:0:1}*.rpm + sudo rpm -ivh $RPMDIR/RPMS/x86_64/dpdk-examples-${DPDK_VERSION:0:1}*.rpm +fi -echo " Testing installation of kmod RPM" if [ ! -z $kmod ]; then - echo "Install kernel module" + echo "-----------------------------------" + echo "Test installation of kmod RPM" + echo sudo rpm -ivh $RPMDIR/RPMS/x86_64/openvswitch-kmod*.rpm - echo " Kernel RPM installed." fi -echo "Testing User Space RPM" +echo "-----------------------------------" +echo "Test installation of user space RPM" +echo sudo rpm -ivh $RPMDIR/RPMS/x86_64/openvswitch-2*.rpm +echo "-----------------------------------" +echo "Start openvswitch service." +echo sudo service openvswitch start sudo ovs-vsctl show -sudo ovs-vsctl add-br br1 -sudo ovs-ofctl dump-flows br1 +sudo ovs-vsctl add-br brtest +sudo ovs-ofctl dump-flows brtest +sudo ovs-vsctl del-br brtest +sudo service openvswitch stop +uninstallrpms exit 0