tom | 2228803 | 2014-10-07 08:16:53 -0700 | [diff] [blame] | 1 | #!/bin/bash |
Pavlin Radoslavov | 9141379 | 2014-10-15 11:00:32 -0700 | [diff] [blame] | 2 | # ----------------------------------------------------------------------------- |
tom | 2228803 | 2014-10-07 08:16:53 -0700 | [diff] [blame] | 3 | # Pushes the specified bundle to the remote ONOS cell machines and updates it. |
Pavlin Radoslavov | 9141379 | 2014-10-15 11:00:32 -0700 | [diff] [blame] | 4 | # ----------------------------------------------------------------------------- |
tom | 2228803 | 2014-10-07 08:16:53 -0700 | [diff] [blame] | 5 | |
| 6 | [ ! -d "$ONOS_ROOT" ] && echo "ONOS_ROOT is not defined" >&2 && exit 1 |
| 7 | . $ONOS_ROOT/tools/build/envDefaults |
| 8 | |
| 9 | cd ~/.m2/repository |
tom | 3f14640 | 2014-10-08 22:44:56 -0700 | [diff] [blame] | 10 | jar=$(find org/onlab -type f -name '*.jar' | grep -e $1 | grep -v -e -tests | head -n 1) |
tom | 2228803 | 2014-10-07 08:16:53 -0700 | [diff] [blame] | 11 | |
| 12 | [ -z "$jar" ] && echo "No bundle $1 found for" && exit 1 |
| 13 | |
| 14 | bundle=$(echo $(basename $jar .jar) | sed 's/-[0-9].*//g') |
| 15 | |
Yuta HIGUCHI | 33ccd48 | 2014-11-12 10:27:20 -0800 | [diff] [blame] | 16 | echo "pushing bundle: $bundle" |
| 17 | |
tom | 2228803 | 2014-10-07 08:16:53 -0700 | [diff] [blame] | 18 | nodes=$(env | sort | egrep "OC[0-9]+" | cut -d= -f2) |
| 19 | for node in $nodes; do |
tom | e2555ff | 2014-10-07 18:47:58 -0700 | [diff] [blame] | 20 | scp -q $jar $ONOS_USER@$node:.m2/repository/$jar |
tom | ca8f670 | 2014-10-07 09:28:53 -0700 | [diff] [blame] | 21 | scp -q $jar $ONOS_USER@$node:$ONOS_INSTALL_DIR/$KARAF_DIST/system/$jar |
tom | 1f60124 | 2014-10-13 11:10:40 -0700 | [diff] [blame] | 22 | ssh $ONOS_USER@$node " |
| 23 | $ONOS_INSTALL_DIR/bin/onos \"bundle:stop -f $bundle\" |
| 24 | $ONOS_INSTALL_DIR/bin/onos \"bundle:update -f $bundle\" |
| 25 | $ONOS_INSTALL_DIR/bin/onos \"bundle:start -f $bundle\" |
| 26 | " 2>/dev/null |
tom | 2228803 | 2014-10-07 08:16:53 -0700 | [diff] [blame] | 27 | done |