|Table of Contents|
Note: This page applies almost equally to the legacy GUI and its replacement GUI2. Any new enhancements are added to GUI2 only. See GUI Release Notes for details of new features
The ONOS GUI is a single-page web-application, providing a visual interface to the ONOS controller (or cluster of controllers).
- The onos-gui feature must be installed in ONOS.
- The GUI listens on port 8181.
- The base URL is /onos/ui; for example, to access the GUI on localhost, use: http://localhost:8181/onos/ui
- The GUI has been developed to work on Google Chrome. The GUI has been tested on Safari and Firefox and minor compatibility adjustments have been made; these and other browsers may work, but have not been extensively tested, and are not actively supported, at this time.
- The key bindings associated with any view will work on any keyboard. The "Cmd" (⌘) key on an Apple keyboard is bound to the same key as the "Windows" or "Alt" keys on Windows or other keyboards.
On launching the GUI you should see the login screen:
If ONOS has been run in local mode (typically used during development), the username and password karaf/karaf can be used to log into the UI.
If ONOS is running as a cluster using a 'test cell', the username and password should be defined in Default username and password are onos/rocks.
If ONOS was installed via onos-install and configured by onos-secure-ssh (developer/test tools), then the passwords may be different; examine the $ONOS_WEB_USER and and $ONOS_WEB_PASS for that cellenvironment variables.
After a successful login, you should see a screen that looks something like this:
The gray dark bar at the top is the Masthead, which provides a location for general GUI controls. In the current version (1.4.0 "Emu") the masthead contains Items shown with red text / arrows are always present:
- the Navigation Menu Buttonbutton
- the ONOS logo and title
- the Context Help button (click to open web URL specific to current view)
- the User Name (click to access logout link)
(In future versions, the masthead may include session controls , such as user ID, user preferences, global search, etc.)
The remainder of the screen is the "view", which defaults to the Topology View when the GUI is first loaded (items shown with purple text / arrows) – a cluster-wide view of the network topology.
- The ONOS Cluster Node Panel indicates the controllers cluster members (controller instances) in the cluster.
- The Summary Panel gives a brief summary of properties of the network topology.
- The Topology Toolbar (initially hidden) provides push-button / toggle-button actions that interact with the topology view.
For more detailed information about this view, see the Topology View page.
The GUI is capable of supporting multiple views. As new views are added to the base release, they will be documented here.
The views currently included in the base release are:
|Applications||The Application View* provides a listing of applications installed, as well as interaction with them on the network.|
|Settings||The Settings View* provides information about all configurable settings in the system.|
|Cluster Nodes||The Cluster Node View* provides a top level listing of all the cluster nodes, (ONOS instances), in the network.|
|Packet Processors||The Packet Processors View* shows the currently configured components that participate in the processing of packets sent to the controller.|
|Partitions||The Partitions View* shows information about how the cluster partitions are configured.|
|Topology||The Topology View provides an interactive visualization of the network topology, including an indication of which devices (switches) are mastered by each ONOS controller instance.|
|Topology 2||The Topology 2 View (currently experimental) is an alternative to the Topology View, providing the ability to view the network in a more hierarchical manner.|
|Devices||The Device View* provides a top level listing of the devices in the network.|
|**Flows||The Flow View* provides a top level listing of all flows for a selected device. (Note that this view is not on the navigation menu.)|
|**Ports||The Port View* provides a top level listing of all ports for a selected device. (Note that this view is not on the navigation menu.)|
|**Groups||The Group View|
|* provides a top level listing of all groups for a selected device. (Note that this view is not on the navigation menu.)|
|**Meters||The Meter View* provides a top level listing of all meters for a selected device. (Note that this view is not on the navigation menu.)|
|Links||The Link View* provides a top level listing of all the links in the network.|
|Hosts||The Host View* provides a top level listing of all the hosts in the network.|
|Intents||The Intent View* provides a top level listing of all the intents in the network.|
|Tunnels||The Tunnel View* provides a top level listing of all tunnels defined in the network.|
*Tabular Views: The GUI has multiple "tabular views" that are similar in look and interaction, but display different information. For a general overview of tabular usage, see the Tabular View page. For specifics on each view, follow the links in the above table.
ONOS applications may contain Web UI components – either custom views, or topology overlay behaviors. For documentation on application-specific behavior, please see the Web UI Application Index.
This section provides a See the reverse-chronological summary of changes to the GUI for each release.
Emu – 1.4.0
- Device View:
- Friendly name can be set on a device from the device detail panel.
- Intent View:
- Button added to navigate to Topology View and display the selected intent.
- Topology View:
- Traffic Overlay now selected as default.
- Topology overlays can now highlight devices and hosts with badges (small number/text/glyph).
- Topology overlays can invoke a dialog box to interact with the user.
- ONOS-Branded "Loading..." animation.
- Sample application (org.onosproject.uiref) featuring UI content injection techniques.
- GUI Archetypes (ui, uitab, uitopo) facilitating rapid development of applications with custom UI content.
Drake – 1.3.0
- Authentication Enabled by default (Login screen; logout action)
- More tabular views added:
- Changes to Topology View:
- Traffic re-implemented as an "overlay"
- Overlay mechanism now programmable from ONOS Apps
- highlighting/labeling topology links
- full control over summary panel content
- full control over details panel content
Cardinal – 1.2.0
- Websocket mechanism promoted to be framework-wide; a shared resource amongst the views.
- More tabular views added:
- Cluster Nodes
- Device Flows (hidden view)
- Device Ports (hidden view)
- Device Groups (hidden view)
- Changes to the Topology View:
- links are now selectable.
- toolbar added (note, keystroke commands still available)
- node layer buttons moved from masthead to toolbar
- sprite layer added
- user selection choices persisted across sessions
- summary and detail panels adjust size to window height
- Changes to the Device View:
- slide out details panel appears when a device is clicked on
- Navigation Menu changes:
- glyphs next to links for navigation
- views organized into categories
- Note that the legacy (Avocet) GUI has been deprecated, and that the (Angular-based) GUI loads by default.
Blackbird – 1.1.0
- View-agnostic features refactored as Angular Services.
- Topology source code broken out into multiple source files.
- Port Highlighting on links added.
- Implemented as a simple table for now; one device per row, sortable by column header clicks.
- Skeletal example code.
- By default, the Avocet GUI is launched; the base URL is mapped to
Avocet – 1.0.0
- GUI implemented using a home-grown framework.
- Single view (Topology View) implemented, displaying network topology and providing a certain level of interaction to show traffic & flow information.
- Although the 'T' key-binding (toggle theme) is present, the "dark" theme has not been implemented.