blob: 2e7c36e64c040017ad6e3e01183c15b2e3de3da3 [file] [log] [blame]
tom1a2908c2014-09-23 16:37:39 -07001#!/bin/bash
Pavlin Radoslavov91413792014-10-15 11:00:32 -07002# -----------------------------------------------------------------------------
tom1a2908c2014-09-23 16:37:39 -07003# Remotely administers the ONOS service on the specified node.
Pavlin Radoslavov91413792014-10-15 11:00:32 -07004# -----------------------------------------------------------------------------
tom1a2908c2014-09-23 16:37:39 -07005
6[ ! -d "$ONOS_ROOT" ] && echo "ONOS_ROOT is not defined" >&2 && exit 1
7. $ONOS_ROOT/tools/build/envDefaults
8
Pavlin Radoslavovcaf19cf2014-10-16 17:29:13 -07009function print_usage {
10 command_name=`basename $0`
11 echo "Remotely administer the ONOS service on a single node or the current ONOS cell."
12 echo
13 echo "Usage: $command_name <TARGET> [COMMAND]"
14 echo " $command_name [-h | --help]"
15 echo "Options:"
16 echo " TARGET The target of the command"
17 echo " COMMAND The command to execute. Default value is 'status'"
18 echo " [-h | --help] Print this help"
19 echo ""
20 echo "TARGET: <hostname | --cell>"
21 echo " hostname Execute on the specified host name"
22 echo " --cell Execute on the current ONOS cell"
23 echo ""
24 echo "COMMAND: [start|stop|restart|status]"
25 echo ""
26}
27
28# Print usage
29if [ "${1}" = "-h" -o "${1}" = "--help" ]; then
30 print_usage
31 exit 0
32fi
33
Jonathan Hartaf53b602015-04-03 16:25:37 -070034case $2 in
35 start|stop|restart|status)
Pavlin Radoslavovcaf19cf2014-10-16 17:29:13 -070036
Jonathan Hartaf53b602015-04-03 16:25:37 -070037 # Select the target
38 if [ "${1}" = "--cell" ]; then
39 nodes=$(env | sort | egrep "OC[0-9]+" | cut -d= -f2)
40 else
41 nodes=${1:-$OCI}
42 fi
43
44 # Execute the remote commands
45 for node in $nodes; do
46 ssh $ONOS_USER@${node} "sudo ${2:-status} onos"
47 done
48 ;;
49 *)
50 echo "error: $2 is not a valid command"
51 echo ""
52 print_usage
53 ;;
54esac