Fix doc links for Colorado 2.0
[ovsnfv.git] / build / test_ovs_rpm.sh
index fce5ca4..6fff26a 100755 (executable)
@@ -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