Thomas Vachuska
Committed by Gerrit Code Review

Adding ability to run ONOS locally via 'buck run onos'

Runs ONOS as a server and requires client connections with ONOS_USE_SSH unset.

Change-Id: Id0aedccbfddfb8f3f17b2ef7f73e805066976315
......@@ -6,7 +6,7 @@
target_level = 8
[alias]
onos = //tools/package:onos-package
onos = //tools/package:onos-run
package = //tools/package:onos-package
[download]
......
......@@ -106,3 +106,12 @@ genrule(
bash = '$(exe //buck-tools:onos-stage) $OUT $(location :onos-karaf) ' + ' '.join(sources),
visibility = [ 'PUBLIC' ],
)
genrule(
name = 'onos-run',
out = 'onos-run',
srcs = [ 'onos-run-karaf' ],
bash = 'sed "s#ONOS_TAR=#ONOS_TAR=$(location :onos-package)#" $SRCS > $OUT; chmod +x $OUT',
executable = True,
visibility = [ 'PUBLIC' ],
)
\ No newline at end of file
......
......@@ -54,7 +54,7 @@ mv $KARAF_DIR $PREFIX
# Stage the ONOS admin scripts and patch in Karaf service wrapper extras
cp -r bin $PREFIX
cp -r init $PREFIX
cp -r etc $PREFIX/$KARAF_DIR/etc/
cp -r etc/* $PREFIX/$KARAF_DIR/etc/
zip -q -0 -r $OUT $PREFIX
......
#!/bin/bash
# -----------------------------------------------------------------------------
# Runs ONOS from distributable onos.tar.gz
# -----------------------------------------------------------------------------
ONOS_TAR=
cd /tmp
# Kill any running instances
[ -f /tmp/onos.pid ] && kill -9 $(cat /tmp/onos.pid) &>/dev/null
set -e
# Blitz previously unrolled onos- directory
rm -fr onos-*
# Unroll new image from the specified tar file
[ -f $ONOS_TAR ] && tar zxf $ONOS_TAR
# Change into the ONOS home directory
cd onos-*
export ONOS_HOME=$PWD
# FIXME: for now we're running using the karaf client; later use raw SSH
unset ONOS_USE_SSH
# Start ONOS as a server, but include any specified options
./bin/onos-service server "$@" &>onos.log &
echo "$!" > /tmp/onos.pid
# Hang-on a bit and then start tailing the ONOS log output
sleep 1
tail -f ./apache*/data/log/karaf.log