mirror of
https://github.com/opennetworkinglab/onos.git
synced 2025-10-16 18:02:05 +02:00
1. Supprot handle upper case DELETE and fixed DELETE funcion 2. Fixed `POST` can not work if JSON format is correct Change-Id: I762cb73ce73a42393264dcace1beaf5cf53492f7
33 lines
1.1 KiB
Bash
Executable File
33 lines
1.1 KiB
Bash
Executable File
#!/bin/bash
|
|
# -----------------------------------------------------------------------------
|
|
# ONOS network configuration uploader.
|
|
# -----------------------------------------------------------------------------
|
|
|
|
[ ! -d "$ONOS_ROOT" ] && echo "ONOS_ROOT is not defined" >&2 && exit 1
|
|
. $ONOS_ROOT/tools/build/envDefaults
|
|
. $ONOS_ROOT/tools/test/bin/find-node.sh
|
|
|
|
fail="--fail"
|
|
[ "$1" == "-v" ] && shift && fail=""
|
|
|
|
node=$(find_node $1)
|
|
file="${2:-$ONOS_ROOT/tools/test/topos/oe-linear-3.json}"
|
|
url="${3}"
|
|
|
|
method="POST"
|
|
[ $(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
|
|
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
|
|
elif [ $method == "DELETE" ]; then
|
|
curl $fail -sSL --user $ONOS_WEB_USER:$ONOS_WEB_PASS \
|
|
-X DELETE http://$node:8181/onos/v1/network/configuration/${url}
|
|
fi
|