This is an archive of the ONOS 1.4 wiki. For the current ONOS wiki, look here.

This section describes ONOS's Karaf-based CLI.


The ONOS CLI is an extension of Karaf's CLI. As a result, it is capable of leveraging features such as programmatic extensibility, the ability to load and unload bundles (among others), and SSH access.

Accessing the CLI

For local installations of ONOS, the ONOS CLI can be accessed with the command  karaf clean. For remote installations, e.g. ONOS instances deployed with onos-package and onos-install, the onos command can be used to attach to running instance from the shell of the target machine.

Finally, as describe in Installing and Running ONOS, the onos command can be used to attach to a remote ONOS instance directly from the local machine (i.e. without logging in first). For example, to access the CLI of an ONOS instance running at

$ onos

Both Ctrl-D and logout exits the CLI.

Note, in the case that karaf clean was used to start the CLI, exiting the CLI will cause the ONOS instance to terminate.

ONOS Commands

ONOS supplies a set of its own onos lists the available commands: 

onos> help onos
onos:add-flows                  Installs a flow rules                                                                                                                                                                                           
onos:add-host-intent            Installs host-to-host connectivity intent                                                                                                                                                                       
onos:add-multi-to-single-intent Installs point-to-point connectivity intent                                                                                                                                                                     
onos:add-node                   Adds a new controller cluster node
onos:add-optical-intent         Installs optical connectivity intent 

The commands can be invoked as either onos:<command> or <command> by itself. Some of these commands have further descriptions that can be seen with help onos:<command>.

onos> help onos:add-flows

	    Installs a flow rules

        onos:add-flows [options] flowPerDevice numOfRuns 

                Number of flows to add per device
                Number of iterations
                Display this help message
        -j, --json
                Output JSON

Appendix A provides a listing of the currently available CLI commands. 

Bundle Management

Karaf's CLI commands are useful for managing the bundles (modules) that comprise the running ONOS instance. For example, list can be used to show all loaded modules:

onos> list
START LEVEL 100 , List Threshold: 50 
 ID | State  | Lvl | Version          | Name
 37 | Active |  80 | 0.0.0            | samples                               
 41 | Active |  80 | 2.6              | Commons Lang                          
 42 | Active |  80 | 3.3.2            | Apache Commons Lang                   
156 | Active |  80 | 1.1.0.SNAPSHOT   | onos-core-common                      
157 | Active |  80 | 1.1.0.SNAPSHOT   | onos-core-dist                        
158 | Active |  80 | 1.1.0.SNAPSHOT   | onos-core-serializers                 
159 | Active |  80 | 1.1.0.SNAPSHOT   | onlab-netty                           
168 | Active |  80 | 1.1.0.SNAPSHOT   | onos-app-proxyarp 

Modules can also be loaded/unloaded from the CLI. For example, to unload the proxy ARP application above:

onos> feature:uninstall onos-app-proxyarp

And to load it in:

onos> feature:install onos-app-proxyarp

Appendix C provides a listing of the available ONOS bundles for the stable release. 


Previous : Interacting with ONOS
Next : The ONOS Web GUI


  • No labels