The following is a comprehensive list of the ONOS test/development scripts. 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.



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

Installs ONOS bits on the designated cell machine.


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.


onos-config [<node-ip>]

Configures the specified ONOS instance according to the cell definition.


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.



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.



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/ key to the remote cell machine and installs it for enabling password-less access.



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>.



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

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





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 .



Previous : Further Resources
Next : Appendix B : REST API