The following is a comprehensive list of the ONOS test/development scripts, located in $ONOS_ROOT/tools/test/bin. The conventions followed here are:

Please refer to Development Environment Setup and Test Environment Setup for information about cells, OC variables, and other conventions used here.

 

Installation/configuration 

onos-install [-f] [-n] [<node-ip>] 

Installs ONOS bits on the designated cell machine.

options:

onos-uninstall [<node-ip>]

Uninstall ONOS from the designated cell machine, stopping it if needed.

onos-push-bits [<node-ip>]

Pushes bits produced by onos-package to the designated cell machine.

notes:

onos-config [<node-ip>]

Configures the specified ONOS instance according to the cell definition.

notes:

Remote CLI Monitoring

onos [-w] [<node-ip> [<onos-cli-command>]]

Attaches to the Command-line client to ONOS from a shell on the development machine.

options:

notes:

onos-watch [<node-ip> [<onos-cli-command>,<onos-cli-command>,...]]

Continuously executes the specified ONOS CLI commands using the system watch command. Default commands are summary,intents,flows,hosts.

onos-batch [<node-ip> [<onos-cli-command>,<onos-cli-command>,...]]

Executes the specified ONOS CLI commands using the Karaf console batch mode. Default commands are summary,intents,flows,hosts.


Process Management

onos-service [<node-ip | --cell> [stop|start|restart|status]]

Allows remote management of the ONOS upstart daemon on the designated cell machine at <node-ip> or all cell machines.

options:

onos-remove-raft-logs

Stops ONOS on all cell machines and wipes the durable states stored in each machine's Raft log

onos-wait-for-start [<node-ip>] 

Waits for ONOS instance to reach run-level 100, i.e. to be fully started.

onos-kill [<node-ip>]

Remotely, and unceremoniously, kills the ONOS instance running on the specified cell machine.

onos-die [<node-ip>]

Remotely, and unceremoniously, kills the ONOS instance running on the specified cell machine, and stops the upstart job to avoid ONOS from automatically reviving.

onos-log [<node-ip>]

Remotely watches the ONOS log on the specified cell machine. It operates through re-installs where the entire ONOS directory is removed. Also available under short-cut ol.

onos-check-logs [<node-ip>]

Remotely checks the ONOS logs to make sure they contain no ERROR or Exception messages.

onos-push-update-bundle <bundle-name-pattern>

Remotely copies the bundle with matching name to all of the cell’s machines and triggers its dynamic update without restarting Apache Karaf container. Also available under short-cut pub, e.g. pub cli.


Cell Machine Management

onos-push-keys [<node-ip>]

Pushes user’s .ssh/id_rsa.pub key to the remote cell machine and installs it for enabling password-less access.

notes:

onos-verify-cell

Remotely checks that passwordless access via ssh/scp works against all machines within the cell.

onos-patch-vm <node-ip> <hostname>

Patches the hostname and /etc/hosts of the cell machine specified by <node-ip> to be set to <hostname>.

options:

notes:

onos-ssh [<node-ip> <command>]]

Logs in via ssh to the remote cell machine using the standard user (sdn).

notes:

 

Miscellaneous

onos-start-network

Remotely starts the Solar topology on the cell’s mininet machine against all controllers configured in the cell.

onos-gui  [<node-ip>]

Launches the ONOS gui in the default browser. The current GUI is onos-gui, which listens on http://<node-ip>:8181/onos/ui .

notes: 

 

onos-fetch-logs [<node-ip | --cell>]

Collects ONOS/karaf logs from designated cell machine at <node-ip> or all cell machines, to current directory.

options:

 

onos-group [help | <command>]

Sends a command to all ONOS instances in the current cell. Currently supported commands are:

install [-f|-n], kill, patch-vm, push-keys, uninstall

These commands invoke the utility whose name is the command name prefixed with onos-, e.g. onos-install for install.

options:

notes:

Shell Aliases

The following are the aliases exported by the ONOS development environment bash_profile.

 

alias

command

mci

'mvn clean install'

mcis

'mvn clean install -DskipTests -Dcheckstyle.skip -U -T 1C'

mis

'mvn install -DskipTests -Dcheckstyle.skip -U -T 1C'

ob

'onos-build'

obi

'onos-build -Dmaven.test.failure.ignore=true'

obs

'onos-build-selective'

obd

'onos-build-docs'

op

'onos-package'

ot

'onos-test'

ol

'onos-log'

ow

'onos-watch'

oi

'setPrimaryInstance'

pub

'onos-push-update-bundle'

tl

'$ONOS_ROOT/tools/dev/bin/onos-local-log'

tlo

'tl | grep --colour=always -E -e "org.onlab|org.onosproject"'

ll

'less $KARAF_LOG'

pp

'python -m json.tool'

docs

'open $ONOS_ROOT/docs/target/site/apidocs/index.html'

gui

'onos-gui'

sshctl

'onos-ssh'

sshnet

'onos-ssh $OCN'

 


Previous : Further Resources
Next : Appendix B : REST API