diff --git a/tools/dev/bash_profile b/tools/dev/bash_profile index 91a31f903f..30343757e8 100644 --- a/tools/dev/bash_profile +++ b/tools/dev/bash_profile @@ -106,7 +106,57 @@ function setPrimaryInstance { # ON.Lab shared test cell warden address export CELL_WARDEN="10.254.1.19" -alias cell='onos-cell' +# Applies the settings in the specified cell file or lists current cell definition +# if no cell file is given. +function cell { + cell=$1 + case "$cell" in + "borrow") + aux="/tmp/cell-$$" + curl -sS -X POST "http://$CELL_WARDEN:4321/?duration=${2:-0}&user=${3:-$(id -un)}" \ + -d "$(cat ~/.ssh/id_rsa.pub)" > $aux + . $aux + rm -f $aux + export ONOS_INSTANCES=$(env | grep 'OC[0-9]*=' | sort | cut -d= -f2) + setPrimaryInstance 1 >/dev/null + onos-verify-cell + ;; + "return") + curl -sS -X DELETE "http://$CELL_WARDEN:4321/?user=${2:-$(id -un)}" + unset ONOS_CELL ONOS_NIC ONOS_IP ONOS_APPS ONOS_BOOT_FEATURES + unset OCI OCN OCT ONOS_INSTANCES ONOS_FEATURES + unset $(env | sed -n 's:\(^OC[0-9]\{1,\}\)=.*:\1 :g p') + ;; + + "status") + curl -sS "http://$CELL_WARDEN:4321/" | sort + ;; + + "") + env | egrep "ONOS_CELL" + env | egrep "OCI" + env | egrep "OC[0-9]+" | sort + env | egrep "OC[NT]" + env | egrep "ONOS_" | egrep -v 'ONOS_ROOT|ONOS_CELL|ONOS_INSTANCES' | sort + ;; + + *) + [ ! -f $ONOS_ROOT/tools/test/cells/$1 ] && \ + echo "No such cell: $1" >&2 && return 1 + unset ONOS_CELL ONOS_NIC ONOS_IP ONOS_APPS ONOS_BOOT_FEATURES + unset OCI OCN OCT ONOS_INSTANCES ONOS_FEATURES + unset $(env | sed -n 's:\(^OC[0-9]\{1,\}\)=.*:\1 :g p') + export ONOS_USER=${ONOS_USER:-sdn} + export ONOS_GROUP=${ONOS_GROUP:-sdn} + export ONOS_WEB_USER=onos + export ONOS_WEB_PASS=rocks + export ONOS_CELL=$1 + . $ONOS_ROOT/tools/test/cells/$1 + export ONOS_INSTANCES=$(env | grep 'OC[0-9]*=' | sort | cut -d= -f2) + setPrimaryInstance 1 >/dev/null + cell + esac +} [ -n "$ONOS_CELL" -a "$ONOS_CELL" != "borrow" ] && cell $ONOS_CELL > /dev/null diff --git a/tools/test/bin/onos-cell b/tools/test/bin/onos-cell index 275ad23407..45a68b95ab 100755 --- a/tools/test/bin/onos-cell +++ b/tools/test/bin/onos-cell @@ -1,59 +1,9 @@ #!/bin/bash # ----------------------------------------------------------------------------- -# Applies the settings in the specified cell file or lists current cell -# definition if no cell file is given. +# List available ONOS cells configuration. # ----------------------------------------------------------------------------- -# Sets the primary instance to the specified instance number. -function setPrimaryInstance { - export OCI=$(env | egrep "OC[0-9]+" | sort | egrep OC${1:-1} | cut -d= -f2) - echo $OCI -} +[ ! -d "$ONOS_ROOT" ] && echo "ONOS_ROOT is not defined" >&2 && exit 1 +. $ONOS_ROOT/tools/dev/bash_profile -cell=$1 -case "$cell" in -"borrow") - aux="/tmp/cell-$$" - curl -sS -X POST "http://$CELL_WARDEN:4321/?duration=${2:-0}&user=${3:-$(id -un)}" \ - -d "$(cat ~/.ssh/id_rsa.pub)" > $aux - . $aux - rm -f $aux - export ONOS_INSTANCES=$(env | grep 'OC[0-9]*=' | sort | cut -d= -f2) - setPrimaryInstance 1 >/dev/null - onos-verify-cell - ;; -"return") - curl -sS -X DELETE "http://$CELL_WARDEN:4321/?user=${2:-$(id -un)}" - unset ONOS_CELL ONOS_NIC ONOS_IP ONOS_APPS ONOS_BOOT_FEATURES - unset OCI OCN OCT ONOS_INSTANCES ONOS_FEATURES - unset $(env | sed -n 's:\(^OC[0-9]\{1,\}\)=.*:\1 :g p') - ;; - -"status") - curl -sS "http://$CELL_WARDEN:4321/" | sort - ;; - -"") - env | egrep "ONOS_CELL" - env | egrep "OCI" - env | egrep "OC[0-9]+" | sort - env | egrep "OC[NT]" - env | egrep "ONOS_" | egrep -v 'ONOS_ROOT|ONOS_CELL|ONOS_INSTANCES' | sort - ;; - -*) - [ ! -f $ONOS_ROOT/tools/test/cells/$1 ] && \ - echo "No such cell: $1" >&2 && return 1 - unset ONOS_CELL ONOS_NIC ONOS_IP ONOS_APPS ONOS_BOOT_FEATURES - unset OCI OCN OCT ONOS_INSTANCES ONOS_FEATURES - unset $(env | sed -n 's:\(^OC[0-9]\{1,\}\)=.*:\1 :g p') - export ONOS_USER=${ONOS_USER:-sdn} - export ONOS_GROUP=${ONOS_GROUP:-sdn} - export ONOS_WEB_USER=onos - export ONOS_WEB_PASS=rocks - export ONOS_CELL=$1 - . $ONOS_ROOT/tools/test/cells/$1 - export ONOS_INSTANCES=$(env | grep 'OC[0-9]*=' | sort | cut -d= -f2) - setPrimaryInstance 1 >/dev/null - onos-cell -esac \ No newline at end of file +cell "$@" \ No newline at end of file