Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Completed transfer of session notes.

...

This page captures thoughts and ideas about the long term goals of (and philosophy behind) the ONOS GUI.

The hope is that these ideas will influence the directions we take and the decisions we make as the GUI evolves over time.

...

  • used in demos to illustrate / visualize what ONOS is doingONOS capabilities
  • used to monitor the ONOS Cluster:
    • Configuration
    • Installed Apps
    • Health
    • Metrics
  • used to inspire app developers to create visualizations for their application
  • used by ONOS QA group during testing
  • runtime extensible by ONOS Apps (reference implementation(s) provided)
  • ...

The GUI is not...

  • a complete Network Management solution
  • a complete alternative to the ONOS CLI or Rest API
  • used for provisioning intents or similar tasks
    • (except, perhaps, for simple "host-to-host intent" demo)
    • The CLI, Java API and Rest API are better suited for such provisioning tasks
  • ...

Who might use the GUI?

The GUI may be used by a number of different roles:

  • Operators
  • App Developers
  • ONOS Dev / test

How might the GUI be used?

The GUI may be used in a number of different scenarios:

  • Kiosk mode
    • Large screen in control center / trade-show booth
  • Diagnostics
    • Show hotspots - let user "drill down" to an issue
  • Demo App
    • Providing a reference implementation, to help App Developers create and integrate their own GUI content
    • An SDK would provide GUI-related API documentation, tutorials etc.

Finding Information of Interest

The GUI should provide filtering / searching capabilities to allow the user to locate information of interest. Search mode would include:

  • Global
  • Specific context (eg. selected items, groups?)

Topology View

The topology view is the main "ONOS out-of-the-box" view, and visualizes the network (and how mastership is divided up by cluster members), but it:

  • should allow the user to see the state of the network at the "10,000 ft level"
    • from there, the user may zoom in for more detail to areas of interest. 
    • E.g., in a large network, individual switches may not be shown, rather they may be collapsed into groups/regions of switches. 
    • A suitable gesture should "expand" the group to show the individual subgroups / switches.
  • should be augmentable by Apps running on top of ONOS 
    • eg. nodes decorated with status badges
    • nodes and/or links selectable / highlightable identifying certain linksitems of interest
  • should be customizable by the user
    • add, position, and label subnet 'clouds' 
    • additional choice of OOTB background maps selectable 
    • ability to add custom (App provided) background map

------------

Notes

Capture of the Brainstorming session held on 3/13, until the notes can be merged into the above "living document"

Big Picture

  • ability to zoom in on a device or link to see more detail

Topology

  • ability to collapse nodes or regions to provide a simpler visualization
  • ability to "badge" nodes (decorate nodes with status or other "badges")
  • ability for apps to "overlay" additional data about topology items (nodes, links)

Monitoring ONOS Cluster

  • Configuration

  • Metrics
  • Health
  • Installed Apps

How is the GUI used?

  • Kiosk mode
    • Large screen in control center / tradeshow booth
  • Diagnostics
    • Show hotspots - let used "drill down" to issue
  • Demo App
    • reference implementation
  • Should NOT be used for provisioning or other such tasks
    • Scripting via CLI / Rest is better suited

Platform

  • Software Developer's Kit (SDK)
    • How to create and integrate GUI content from an App.

Searching / Filtering

  • Global
  • within Context (selected items?)

Who uses the GUI?

  • Operators
  • App Developers
  • ONOS Dev / Test

 

    • map (e.g. map of a campus)

Tabular Views

Some information may lend itself to be presented in tabular form. For example, list of all:

  • Devices
  • Hosts
  • Links
  • Intents
  • Flows
  • ...

Each line item would be some summary of the item. A gesture (e.g. row double-click) should navigate to a more detailed view of the specific item.

Other Views

There are bound to be other types of view that would be useful for presenting data. Perhaps charts or graphs showing historical data?