| #!/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 $remote " |
| sudo stop onos 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 karaf.jar | grep -v grep)\" ] && break |
| sleep 1 |
| done |
| [ -z \"\$(ps -ef | grep karaf.jar | 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 |
| |
| exit \${status:-0}; |
| " |