mirror of
https://github.com/opennetworkinglab/onos.git
synced 2025-10-16 18:02:05 +02:00
Previously, it would succeed since the checksum command would return nothing in standard output. Change-Id: I1a73d20a0e085107be8362a6226b1a213ecdab78
40 lines
1.1 KiB
Bash
Executable File
40 lines
1.1 KiB
Bash
Executable File
#!/bin/bash
|
|
# -----------------------------------------------------------------------------
|
|
# Remotely pushes bits to a remote node in preparation for install.
|
|
# -----------------------------------------------------------------------------
|
|
function _usage () {
|
|
cat << _EOF_
|
|
usage:
|
|
$(basename $0) [node]
|
|
|
|
options:
|
|
- [node] : the target node to prime for installation
|
|
|
|
summary:
|
|
Remotely pushes bits to a remote node in preparation for install.
|
|
|
|
$(basename $0) is invoked as part of 'onos-install', and shouldn't be
|
|
directly invoked for the most part.
|
|
|
|
_EOF_
|
|
}
|
|
|
|
[ $# -gt 1 ] || [ "$1" = "-h" ] && _usage && exit 0
|
|
[ ! -d "$ONOS_ROOT" ] && echo "ONOS_ROOT isn't set correctly" >&2 && exit 1
|
|
set -e
|
|
set -u
|
|
. $ONOS_ROOT/tools/build/envDefaults
|
|
[ ! -f "$ONOS_TAR" ] && echo "$ONOS_TAR does not exist - run onos-package?" >&2 && exit 1
|
|
|
|
node=${1:-$OCI}
|
|
remote=$ONOS_USER@$node
|
|
|
|
locHash=$(cksum $ONOS_TAR | cut -d' ' -f1,2)
|
|
remHash=$(ssh $remote cksum $ONOS_TAR 2>/dev/null | cut -d' ' -f1,2)
|
|
|
|
if [ -n "$locHash" ] && [ "$locHash" = "$remHash" ]; then
|
|
echo "ONOS bits $ONOS_TAR already up-to-date on $node..."
|
|
else
|
|
scp -q $ONOS_TAR $remote:/tmp
|
|
fi
|