diff --git a/roles/onos-load-apps/files/onos-app b/roles/onos-load-apps/files/onos-app
new file mode 100644
index 0000000..fb6fff6
--- /dev/null
+++ b/roles/onos-load-apps/files/onos-app
@@ -0,0 +1,80 @@
+#!/bin/bash
+# -----------------------------------------------------------------------------
+# Tool to manage ONOS applications using REST API.
+# -----------------------------------------------------------------------------
+
+node=${1:-$OCI}
+cmd=${2:-list}
+app=${3}
+
+export URL=http://$node:8181/onos/v1/applications
+export HDR="-HContent-Type:application/octet-stream"
+export HAJ="-HContent-Type:application/json"
+export curl="curl -sS --user $ONOS_WEB_USER:$ONOS_WEB_PASS"
+
+# Prints usage help
+function usage {
+    echo "usage: onos-app <node-ip> list" >&2
+    echo "       onos-app <node-ip> {install|install!} <app-file>" >&2
+    echo "       onos-app <node-ip> {reinstall|reinstall!} [<app-name>] <app-file>" >&2
+    echo "       onos-app <node-ip> {activate|deactivate|uninstall} <app-name>" >&2
+    exit 1
+}
+
+# Extract app name from the specified *.oar file
+function appName {
+    aux=/tmp/aux$$.jar
+    cp $1 $aux
+    pushd /tmp >/dev/null
+    jar xf $aux app.xml && grep name= app.xml | cut -d\" -f2
+    rm -f $aux /tmp/app.xml
+    popd >/dev/null
+}
+
+[ -z $node -o "$node" = "-h" -o "$node" = "--help" -o "$node" = "-?" ] && usage
+
+case $cmd in
+    list) $curl -X GET $URL;;
+    installUrl!|installUrl)
+        activate="false"
+        [ $cmd = "installUrl!" ] && activate="true"
+        [ $# -lt 3 ] && usage
+        appurl=$3
+        $curl -X POST $HAJ -d '{"url" : "'"$appurl"'", "activate" : "'$activate'" }' $URL
+        ;;
+    install!|install)
+        [ $cmd = "install!" ] && activate="?activate=true"
+        [ $# -lt 3 -o ! -f $app ] && usage
+        $curl -X POST $HDR $URL$activate --data-binary @$app
+        ;;
+
+    reinstall!|reinstall)
+        [ $cmd = "reinstall!" ] && activate="?activate=true"
+        [ $# -lt 4 -a ! -f "$3" ] && usage
+        [ $# -eq 4 -a ! -f "$4" ] && usage
+        oar=$4
+        [ $# -lt 4 ] && oar=$3 && app=$(appName $oar)
+        $curl -X DELETE $URL/$app
+        $curl -X POST $HDR $URL$activate --data-binary @$oar
+        ;;
+
+    uninstall)
+        [ $# -lt 3 ] && usage
+        $curl -X DELETE $URL/$app
+        ;;
+    activate)
+        [ $# -lt 3 ] && usage
+        $curl -X POST $URL/$app/active
+        ;;
+    deactivate)
+        [ $# -lt 3 ] && usage
+        $curl -X DELETE $URL/$app/active
+        ;;
+
+    *) usage;;
+esac
+
+
+status=$?
+echo # new line for prompt
+exit $status
