diff --git a/tools/package/runtime/bin/_check-json b/tools/package/runtime/bin/_check-json
new file mode 100644
index 0000000..e20c687
--- /dev/null
+++ b/tools/package/runtime/bin/_check-json
@@ -0,0 +1,30 @@
+#!/bin/bash
+
+
+#
+# Copyright 2015-present Open Networking Laboratory
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+# -----------------------------------------------------------------------------
+# Utility for checking syntax of JSON files
+# -----------------------------------------------------------------------------
+
+
+checkJson() {
+    cat ${1} | python -m json.tool >> /dev/null
+    if [ "$?" -ne "0" ]; then
+        echo "Not valid JSON File" && exit 1
+    fi
+}
diff --git a/tools/package/runtime/bin/onos-cfg b/tools/package/runtime/bin/onos-cfg
new file mode 100755
index 0000000..a171899
--- /dev/null
+++ b/tools/package/runtime/bin/onos-cfg
@@ -0,0 +1,66 @@
+#!/bin/bash
+
+#
+# Copyright 2015-present Open Networking Laboratory
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+# -----------------------------------------------------------------------------
+# Tool to manage ONOS component configurations using REST API.
+# -----------------------------------------------------------------------------
+
+# If ONOS_HOME is set, respect its value.
+# If ONOS_HOME is not set (e.g. in the init or service environment),
+# set it based on this script's path.
+ONOS_HOME=${ONOS_HOME:-$(cd $(dirname $0)/.. >/dev/null 2>&1 && pwd)}
+ONOS_WEB_USER=${ONOS_WEB_USER:-onos} # ONOS WEB User defaults to 'onos'
+ONOS_WEB_PASS=${ONOS_WEB_PASS:-rocks} # ONOS WEB Password defaults to 'rocks'
+
+fail="--fail"
+[ "$1" == "-v" ] && shift && fail=""
+
+. ${ONOS_HOME}/bin/_find-node
+. ${ONOS_HOME}/bin/_check-json
+
+node=$(find_node $1)
+cmd=${2:-list}
+component=${3}
+file=${4}
+
+export URL=http://$node:8181/onos/v1/configuration/${component}
+export curl="curl ${fail} -sS --user $ONOS_WEB_USER:$ONOS_WEB_PASS --noproxy ${node} "
+
+usage() {
+    echo "Usage: onos-cfg node [list|post|delete] component [JSON file if posting or deleting]"
+}
+
+if [ "$node" == "" -o "$component" == "" ]; then
+     usage && exit 1
+fi
+
+case $cmd in
+    list)
+        ${curl} -X GET ${URL} && echo;;
+    post|delete)
+        checkJson "$file"
+        $curl -X $cmd -H 'Content-Type:application/json' \
+            ${URL} -d@$file && echo;;
+    *) usage && exit 1;;
+esac
+
+
+
+
+
+
diff --git a/tools/package/runtime/bin/onos-netcfg b/tools/package/runtime/bin/onos-netcfg
index fe19d8e..4b57162 100755
--- a/tools/package/runtime/bin/onos-netcfg
+++ b/tools/package/runtime/bin/onos-netcfg
@@ -28,6 +28,7 @@
 ONOS_WEB_PASS=${ONOS_WEB_PASS:-rocks} # ONOS WEB Password defaults to 'rocks'
 
 . ${ONOS_HOME}/bin/_find-node
+. ${ONOS_HOME}/bin/_check-json
 
 fail="--fail"
 [ "$1" == "-v" ] && shift && fail=""
@@ -45,11 +46,7 @@
 [ $(echo $file | awk '{print tolower($0)}') == "delete" ] && method="DELETE"
 
 if [ $method == "POST" ]; then
-    # Validate JSON
-    cat $file | python -m json.tool >> /dev/null
-    if [ "$?" -ne "0" ]; then
-        echo "Not valid JSON File" && exit 1
-    fi
+    checkJson $file
     curl $fail -sSL --user $ONOS_WEB_USER:$ONOS_WEB_PASS \
         -X POST -H 'Content-Type:application/json' \
         http://$node:8181/onos/v1/network/configuration/${url} -d@$file
