blob: ff8ff536acb7446309646b95c5556fc9ff73964b [file] [log] [blame]
tom5c255702014-09-18 06:57:39 -07001#!/bin/bash
Pavlin Radoslavov91413792014-10-15 11:00:32 -07002# -----------------------------------------------------------------------------
tom1a2908c2014-09-23 16:37:39 -07003# Remotely stops & uninstalls ONOS on the specified node.
Pavlin Radoslavov91413792014-10-15 11:00:32 -07004# -----------------------------------------------------------------------------
tom5c255702014-09-18 06:57:39 -07005
Ayaka Koshibef17f34a2015-09-24 19:31:48 -07006function _usage () {
7cat << _EOF_
8usage:
9 $(basename $0) [node]
10
11options:
12- [node] : The remote instance to uninstall ONOS from.
13
14summary:
15 Remotely stops and uninstalls ONOS on the specified node.
16
17 If [node] isn't specified, \$OCI becomes the target.
18
19_EOF_
20}
21
22[ "$1" = "-h" ] && _usage && exit 0
23
tom5c255702014-09-18 06:57:39 -070024[ ! -d "$ONOS_ROOT" ] && echo "ONOS_ROOT is not defined" >&2 && exit 1
25. $ONOS_ROOT/tools/build/envDefaults
26
27remote=$ONOS_USER@${1:-$OCI}
28
Pavlin Radoslavov20bc6ae2014-12-03 05:35:04 +000029ssh $remote "
Jonathan Hartd0a97bc2015-07-21 10:31:44 -070030 sudo stop onos 1>/dev/null 2>/dev/null
Brian O'Connorc045c4a2015-09-17 16:09:44 -070031
32 # Wait for onos to stop up to 5 seconds
33 for i in \$(seq 1 5); do
34 [ -z \"\$(ps -ef | grep karaf.jar | grep -v grep)\" ] && break
35 sleep 1
36 done
Thomas Vachuska46a4fe22015-09-29 17:28:30 -070037 [ -z \"\$(ps -ef | grep karaf.jar | grep -v grep)\" ] || \
38 (echo 'ONOS failed to stop.'; status=1)
Brian O'Connorc045c4a2015-09-17 16:09:44 -070039
40 # Remove onos directory and init file
Thomas Vachuska46a4fe22015-09-29 17:28:30 -070041 [ -d $ONOS_INSTALL_DIR ] && sudo rm -fr $ONOS_INSTALL_DIR
42 [ -f /etc/init/onos.conf ] && sudo rm -f /etc/init/onos.conf
43
44 exit \${status:-0};
tom5c255702014-09-18 06:57:39 -070045"