Option to use rsync pushing bits
Use rsync to push bits (ONOS tar contents), when
environment variable USE_RSYNC is set to true.
This enables sending only changed .jar, now whole ONOS tar ball.
+ Minor optimization to reuse build machine to remote host ssh session
push bits:
1) unpackage ONOS tar to tmp stage dir
2) rsync local stage to remote stage /tmp/$ONOS_BITS
3) package ONOS tar equivalent at remote node
push bits via proxy:
1) rsync: build <=> proxy
2) scp : proxy => cell nodes (tar packaged at proxy)
3) rsync: build <==========> cell nodes (almost no-op)
Known limitation:
- rsync at Step 3 is triggered since
repackaging same content remotely result in
tar ball with different hash value.
(Probably due to directory timestamp/uid difference)
- automatically installing rsync
only supported for debian/ubuntu
Change-Id: Ibc9013b973c312798d2c36e7d25f5274f085b39f
diff --git a/tools/test/bin/onos-push-bits-through-proxy b/tools/test/bin/onos-push-bits-through-proxy
index 21cbddf..6b909f6 100755
--- a/tools/test/bin/onos-push-bits-through-proxy
+++ b/tools/test/bin/onos-push-bits-through-proxy
@@ -16,7 +16,9 @@
others=$(env | sort | egrep "^OC[0-9]+" | cut -d= -f2 | grep -vE "^$OCT\$")
-for other in $others; do
- echo "Pushing to $other..."
- ssh $remote "scp $ONOS_TAR $ONOS_USER@$other:$ONOS_TAR"
-done
+ssh $remote "
+ for other in ${others//$'\n'/ } ; do
+ echo \"Pushing to \$other ...\";
+ scp -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null $ONOS_TAR $ONOS_USER@\$other:$ONOS_TAR
+ done
+"