blob: d7b0a08d452748e3564a75b4b2eb5a1686ead691 [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
Marc De Leenheer6ac0d552014-12-02 16:44:02 -080043 ssh -t $ONOS_USER@${node} "sudo service onos ${2:-status}"
Pavlin Radoslavovcaf19cf2014-10-16 17:29:13 -070044done