aboutsummaryrefslogtreecommitdiffstats
path: root/framework/src/onos/tools/test/bin/onos-start-network
blob: 5412e096c30afd50906c84171aec530c3c35cc2e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#!/bin/bash
# -----------------------------------------------------------------------------
# Starts a Mininet network topology connected to all nodes in a cell.
# -----------------------------------------------------------------------------

function __usage() {
cat << _EOM_

usage:
 $(basename $0) [file]

options:
 - [file] : a Mininet topology file. Default is *sol.py* .

summary:
 Starts a Mininet network topology connected to all nodes in a cell.

 Currently, all topology files are assumed to be found in
 \$OCN's ~/topos directory. Therefore [file] must be specified as
 topos/filename.

_EOM_
}

[ "$1" = "-h" ] && __usage && exit 0

[ ! -d "$ONOS_ROOT" ] && echo "ONOS_ROOT is not defined" >&2 && exit 1
. $ONOS_ROOT/tools/build/envDefaults

SSHCMD="ssh -o PasswordAuthentication=no"
SCPCMD="scp -q -o PasswordAuthentication=no"
topo=${1:-topos/sol.py}

echo "Copying topology files to mininet vm."
$SSHCMD -n $ONOS_USER@$OCN mkdir -p topos
$SCPCMD $ONOS_ROOT/tools/test/topos/* $ONOS_USER@$OCN:topos/

echo "Starting Network."
$SSHCMD -t $ONOS_USER@$OCN sudo python $topo $(env | sort | egrep "OC[0-9]+" | cut -d= -f2)