Fix bugs found in Avocet release.
Scalable strongly consistent data store.
- For December release we went with Hazelcast as the default for many of distributed stores. It is disabled by default, but experimental version of Raft based implementation of the store consisting from a single partition (tablet) was also bundled. Raft based implementation will provide us with characteristics like durability across whole ONOS cluster restart, but single tablet implementation places a limit on read/write throughput the data store can support. We want to address this limitation and allow multiple tablets. So that updates that do not have any inter-dependencies and have keys that map to different tablets can be processed in parallel.
- Use cases that require transactional updates to keys spanning multiple tablets will need support for a nested distributed transaction.
- Support dynamic Raft cluster membership. In the initial release we went with a static cluster configuration for the distributed data store. We need to relax this and support dynamic cluster reconfiguration.
- Migrate device mastership election to run on top of Raft based Database Service. Currently this is supported on top of Hazelcast.
- Support preferential assignment of devices to controllers by taking into account information such as current load, locality and administrator specified overrides.
- Support a protocol for automated re-balancing.
- Migrate Cluster Management (discovery and failure detection) out of Hazelcast. Add support for a Accrual failure detector (such as Phi Accrual failure detector)
| Distributed data structures:|
- Support distributed queue functionality on top of Raft based database service. This will be used by intent subsystem for distributed execution of intents.
Metrics and monitoring
- Need to add metrics to measure performance across various sub systems in the distributed core and outside.
- We should be able to visualize the performance of various components in real time.
|Overall stability/performance improvements.|
- We need to beef up our unit test and integration test coverage.
- For performance, pick concrete use cases and associated numbers from real world use cases.
- We need to set up a testbed that continually runs ONOS in a simulated real world deployment
- Southbound plugins
- Sample plug-in: OVSDB (TBD)
- OpenFlow 1.3 support enhancements ( Multi-tables etc)
|Multi-layer SDN Control of Packet Optical Networks|
Thorough testing in multi-instance cluster
- Get Bidirectional path to use same links
- GUI to show resource utilization
- Tunnel Intent
- Packet optical working with real optical switch
- Script to generate large topology
Hosts of the SDN network communicating with the hosts of the external networks
Full suite of integration tests
- Integration with XOS, OpenCloud
- Reference deployment
- Segment Routing is currently on ONF development repo. The code needs to be adapted to and brought into ONOS master for Blackbird release.
|IP RAN use case|
- IP RAN use case has been developed outside of ON.Lab by Huawei. The code needs to be adapted to and brought into ONOS master for Blackbird release
Extensible framework for navigation among multiple views
- includes ability for apps to add views on the fly
- built using AngularJS
|Network inventory tabular views|
- devices, links, hosts
- flows, intents, resources