summaryrefslogtreecommitdiffstats
path: root/framework/src/onos/tools/test/bin/onos-push-update-bundle
blob: 85fa27bc18c320ac4c3df13da8ab003bdc85cc7d (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
#!/bin/bash
# -----------------------------------------------------------------------------
# Pushes the specified bundle to the remote ONOS cell machines and updates it.
# -----------------------------------------------------------------------------

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

cd ~/.m2/repository
jar=$(find org/onosproject -type f -name '*.jar' | grep -e $1 | grep -v -e -tests | head -n 1)

[ -z "$jar" ] && echo "No bundle $1 found for" && exit 1

bundle=$(echo $(basename $jar .jar) | sed 's/-[0-9].*//g')

echo "pushing bundle: $bundle"

nodes=$(env | sort | egrep "OC[0-9]+" | cut -d= -f2)
for node in $nodes; do
    scp -q $jar $ONOS_USER@$node:.m2/repository/$jar
    scp -q $jar $ONOS_USER@$node:$ONOS_INSTALL_DIR/$KARAF_DIST/system/$jar
    ssh $ONOS_USER@$node "
        $ONOS_INSTALL_DIR/bin/onos \"bundle:stop -f $bundle\"
        $ONOS_INSTALL_DIR/bin/onos \"bundle:update -f $bundle\"
        $ONOS_INSTALL_DIR/bin/onos \"bundle:start -f $bundle\"
    " 2>/dev/null
done