blob: 99e2594a51b9c5543b4d665eb21f8643b48b7b96 [file] [log] [blame]
#!/bin/bash
# -----------------------------------------------------------------------------
# Remotely stops & uninstalls ONOS on the specified node.
# -----------------------------------------------------------------------------
function _usage () {
cat << _EOF_
usage:
$(basename $0) [node]
options:
- [node] : The remote instance to uninstall ONOS from.
summary:
Remotely stops and uninstalls ONOS on the specified node.
If [node] isn't specified, \$OCI becomes the target.
_EOF_
}
[ "$1" = "-h" ] && _usage && exit 0
[ ! -d "$ONOS_ROOT" ] && echo "ONOS_ROOT is not defined" >&2 && exit 1
. $ONOS_ROOT/tools/build/envDefaults
remote=$ONOS_USER@${1:-$OCI}
ssh -tt $remote "
sudo service onos stop 1>/dev/null 2>/dev/null
# Wait for onos to stop up to 5 seconds
for i in \$(seq 1 5); do
[ -z \"\$(ps -ef | grep org.apache.karaf.main.Main | grep -v grep)\" ] && break
sleep 1
done
[ -z \"\$(ps -ef | grep org.apache.karaf.main.Main | grep -v grep)\" ] || \
(echo 'ONOS failed to stop.'; status=1)
# Remove onos directory and init file
[ -d $ONOS_INSTALL_DIR ] && sudo rm -fr $ONOS_INSTALL_DIR
[ -f /etc/init/onos.conf ] && sudo rm -f /etc/init/onos.conf
[ -f /etc/init.d/onos ] && sudo rm -f /etc/init.d/onos
[ -f /etc/systemd/system/onos.service ] && sudo rm -f /etc/systemd/system/onos.service
exit \${status:-0};
"