blob: 571b0c9106ba93c6a4b8be1d3ccb32a57f54d541 [file] [log] [blame]
#!/bin/bash
# Copyright 2015 Open Networking Foundation (ONF)
#
# Please refer questions to either the onos test mailing list at <onos-test@onosproject.org>,
# the System Testing Plans and Results wiki page at <https://wiki.onosproject.org/x/voMg>,
# or the System Testing Guide page at <https://wiki.onosproject.org/x/WYQg>
#
# TestON is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 2 of the License, or
# (at your option) any later version.
#
# TestON is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with TestON. If not, see <http://www.gnu.org/licenses/>.
# -----------------------------------------------------------------------------
# This script will kill any TestON, ssh, and Mininet sessions that are running.
# -----------------------------------------------------------------------------
# TODO: Add help to this file, and some more options?
# Maybe kill/uninstall ONOS?
sudo kill -9 `ps -ef | grep "./cli.py" | grep -v grep | awk '{print $2}'` &> /dev/null
sudo kill -9 `ps -ef | grep "bin/teston" | grep -v grep | awk '{print $2}'` &> /dev/null
sudo kill -9 `ps -ef | grep "/usr/bin/ssh" | grep -v grep | awk '{print $2}'` &> /dev/null
sudo kill -9 `ps ax | grep '[p]ython -m SimpleHTTPServer 8000' | awk '{print $1}'` &> /dev/null
sudo kill -9 `ps ax | grep 'kubectl' | awk '{print $2}'` &> /dev/null
export user=${ONOS_USER:-$USER}
if [[ -z "${OCN}" ]]; then
echo "Mininet cleanup skipped because OCN is not defined"
else
ssh $user@$OCN """
sudo killall -9 dhclient dhcpd zebra bgpd vrrpd bird
sudo mn -c
sudo pkill -f mn.pid
"""
fi
# Restore persistent firewall rules
if [ "$1" = "-f" ]; then
OCIS=( $(env | sed -ne 's:OC[0-9]\{1,\}=\(.*\):\1 :g p' | sort -k1) )
if [ -z "$OCIS" ]; then
printf "no ONOS nodes set in your cell, Don't know where to look" >&2 && exit 0
fi
# TODO: Make the file configurable
for i in ${OCIS[@]}; do
echo "Restoring iptables rules on ${i}"
ssh sdn@$i "sudo iptables -F"
ssh sdn@$i "sudo iptables-restore < /etc/iptables/rules.v4"
echo "Restoring ip6tables rules on ${i}"
ssh sdn@$i "sudo ip6tables -F"
ssh sdn@$i "sudo ip6tables-restore < /etc/iptables/rules.v6"
done
elif [ "$1" = "-d" ]; then
docker stop $(docker ps -aq)
fi