blob: d5fabe5a9ed6e9a90b2ee9aea1f7c13a0a37062b [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
34# Select the target
35if [ "${1}" = "--cell" ]; then
36 nodes=$(env | sort | egrep "OC[0-9]+" | cut -d= -f2)
37else
38 nodes=${1:-$OCI}
39fi
40
41# Execute the remote commands
42for node in $nodes; do
43 ssh $ONOS_USER@${node} "sudo service onos ${2:-status}"
44done