X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=build%2Ftest_ovs_rpm.sh;fp=build%2Ftest_ovs_rpm.sh;h=d0b91747ff53941756db85885c54d2c49601d17e;hb=4ce4060e302c0cb98ce6658f44fede048df6aeeb;hp=0000000000000000000000000000000000000000;hpb=8a312b9535b2f3fe721139ed37722a13d1a940b1;p=ovsnfv.git diff --git a/build/test_ovs_rpm.sh b/build/test_ovs_rpm.sh new file mode 100755 index 0000000..d0b9174 --- /dev/null +++ b/build/test_ovs_rpm.sh @@ -0,0 +1,138 @@ +#!/bin/bash + +# 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 + +echo "===============================" +echo executing $0 $@ +echo executing on machine `uname -a` + + +usage() { + echo run BuildAndTest -h for help +} + +function delrpm() { + set +e + rpm -q $1 + if [ $? -eq 0 ]; then + sudo rpm -e --allmatches $1 + fi + set -e +} +function cleanrpms() { + delrpm openvswitch + delrpm dpdk-devel + delrpm dpdk-tools + delrpm dpdk-examples + delrpm dpdk +} + +while getopts "dg:hkp:u:v" opt; do + case "$opt" in + d) + DPDK="yes" + ;; + g) + TAG=${OPTARG} + ;; + h|\?) + usage + exit 1 + ;; + k) + kmod="yes" + ;; + u) + OVS_REPO_URL=${OPTARG} + ;; + v) + verbose="yes" + ;; + esac +done + +HOME=`pwd` +TOPDIR=$HOME +TMPDIR=$TOPDIR/ovsrpm + +if [ -d $TMPDIR ] +then + rm -rf $TMPDIR +fi + +mkdir -p $TMPDIR + +cd $TMPDIR + +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 + +if [ ! -z $kmod ]; then + echo "-----------------------------------" + echo "Test installation of kmod RPM" + echo + sudo rpm -ivh $RPMDIR/RPMS/x86_64/openvswitch-kmod*.rpm +fi +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 brtest +sudo ovs-ofctl dump-flows brtest +sudo ovs-vsctl del-br brtest +sudo service openvswitch stop + +exit 0