#!/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/onlab -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')

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
