Have questions? Stuck? Please check our FAQ for some common questions and answers.

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 16 Next »

Blackbird Release 

Version: 1.1.0

Release Date: 17th March, 2015

Download here

Release Content:

ONOS 1.1.0 release is primarily aimed at improving performance & scale characteristics of ONOS, specifically in the following areas:

  • intent operation (submit/withdraw) throughput performance and scalability

  • flow operation (add/remove) throughput performance and scalability

  • topology change (device/port/link) throughput and latency

  • intent reactive repair (path re-routing) latency

The detailed performance results are available on the Wiki. While the Blackbird release made a number of significant advancements in these areas, there are a number of remaining optimizations to be made that will further improve the performance and scalability aspects of ONOS in subsequent releases.

In addition to performance improvements, Blackbird release also contains a number of robustness and functionality enhancements:

  • cleaner intent subsystem API

  • revised flow subsystem API with multi-table support

  • application subsystem for cluster-wide app deployment and management

  • component configuration subsystem for cluster-wide component configuration

  • eventually consistent map mechanism with gossip-based anti-entropy

  • strongly consistent map mechanism (based on RAFT)

  • device driver framework as a foundation for future device & network configuration

  • foundations for modular and dynamically extensible GUI

  • IPv6 support

  • REST API

List of tasks

  • [ONOS-253] - Test for p2p intent in the same switch ports.
  • [ONOS-443] - Null FlowProvider
  • [ONOS-444] - Null DeviceProvider
  • [ONOS-490] - Pushing optical topology fails in multi-instance scenario
  • [ONOS-492] - Fix application in multi-instance environment
  • [ONOS-510] - Implement IPv6, ICMP6 and NeighborAdvertisement
  • [ONOS-511] - Implement NeighborSolicitation, RouterSolicitation, RouterAdvertisement and Redirect
  • [ONOS-512] - Implement IPv6 Extension Headers
  • [ONOS-625] - Driver Framework API
  • [ONOS-626] - Implement driver management component(s)
  • [ONOS-636] - Integrate SDN-IP IPv6 support with the Intent Framework
  • [ONOS-637] - Integrate SDN-IP IPv6 support with the HostService
  • [ONOS-638] - Update BGP to support IPv6
  • [ONOS-639] - Update SDN-IP Router and IntentSynchronizer to support IPv6
  • [ONOS-640] - Updated the SDN-IP related CLI commands to support IPv6
  • [ONOS-665] - Null PacketProvider
  • [ONOS-707] - Investigate bug-609 with tshark logic instead of tcpdump
  • [ONOS-714] - complete NB latency test script per test plan
  • [ONOS-717] - Complete Automated Test Script for SB Latency Tests
  • [ONOS-724] - Run test on Baremetal cluster
  • [ONOS-729] - Complete test script for SB TP
  • [ONOS-772] - Implement a testcase to cover ONOS-151 bug to verify if ONOS outputs exception on installing one-hop intent
  • [ONOS-775] - TopoView - Load background Map on Zoomable SVG
  • [ONOS-783] - Update PeerConnectivityManager to handle IPv6
  • [ONOS-793] - Get up and running with latest Copycat changes
  • [ONOS-794] - Fix NettyTcpProtocol
  • [ONOS-795] - Fix quorum calculation + single node cluster set up.
  • [ONOS-797] - Implement Map spanning multiple RAFT clusters
  • [ONOS-798] - Support a forwarding state machine proxy
  • [ONOS-817] - Create scrollable table
  • [ONOS-818] - Fix header on table
  • [ONOS-870] - Optical device annotations not honored in multi-instance scenario
  • [ONOS-919] - Profile and Optimize Single-Node ONOS
  • [ONOS-921] - Create onos-maven-plugin
  • [ONOS-933] - Use RDS db and google chart API to present SB TP data on wiki
  • [ONOS-935] - use RDS db and google chart API to post NB latency data on wiki
  • [ONOS-936] - use RDS db and google chart API to post NB TP data on wiki
  • [ONOS-945] - Stage our copycat fork on nexus maven repo
  • [ONOS-946] - ONOS messaging protocol plugin for Copycat.
  • [ONOS-947] - Push all copycat fixes upstream in github
  • [ONOS-948] - Update ONOS tablet configuration to support mulitple partitions.
  • [ONOS-949] - Create a standalone performance test script that can mesure the througput of our partitioned raft solution.
  • [ONOS-951] - Clean up prototype code and integrate with ONOS.
  • [ONOS-965] - Choose mechanism to connect to LINC CLI
  • [ONOS-966] - Deduce mapping between Mininet and LINC
  • [ONOS-967] - Start/stop LINC optical port from Mininet
  • [ONOS-968] - Start/stop LINC switch from Mininet
  • [ONOS-1070] - Test SB TP with multi-theaded Null Link Flicker to baseline maximum throughput
  • [ONOS-1071] - create Test Script using flow_test.py to test Flow performance
  • [ONOS-1072] - create wiki presentation page for logging flow test data
  • [ONOS-1122] - Investigate open source NETCONF implementations
  • [ONOS-1127] - Design extended Provider interfaces for L0
  • [ONOS-1128] - Design ROADM specific interface between Provider and vendor plugin
  • [ONOS-1188] - Update SDN-IP Wiki documentation to include IPv6

Technical task

  • [ONOS-696] - Introduce an hack in ONOS to interpret correctly the VLAN value sent by the FSFW
  • [ONOS-697] - We need to express flows using specific port numbers, instead of wildcard them

Bug

  • [ONOS-261] - FlowRule entries are not removed accordingly after P2P Intents are removed
  • [ONOS-329] - Ping all from Mininet fails intermittently and ONOS reports device does not exist
  • [ONOS-333] - FlowEntryBuilder needs to parse 1.3 set-field actions from OpenFlow
  • [ONOS-384] - "push-test-intent" test with 3+ nodes return wide-range latency
  • [ONOS-389] - ONOS stop working while stressing with push-test-intent
  • [ONOS-393] - NullPointerException when bringing down a link between 2 devices
  • [ONOS-423] - LinkResourceStore should store should throw appropriate Exceptions
  • [ONOS-426] - Definition of org.onosproject.net.resource.Bandwidth value is unclear
  • [ONOS-432] - MessageSubject needs a scheme/naming convention to avoid collisions
  • [ONOS-435] - GossipDeviceStore: Timeout during executor shutdown
  • [ONOS-436] - Hosts learned via Gossip sometimes are missing ips
  • [ONOS-439] - OpticalLinkProvider.processLink throws NPE
  • [ONOS-440] - OpticalPathProvisioner NPE
  • [ONOS-447] - HostLocationProviderTest.java build error in eclipse
  • [ONOS-468] - Failed to respond to peer's getFlowEntries request java.io.IOException: io.netty.util.concurrent.BlockingOperationException: DefaultChannelPromise@26bd6338(incomplete)
  • [ONOS-471] - Clean up/refactor IntentManager
  • [ONOS-473] - GossipLinkStore {src, dst}Links is not concurrent access safe.
  • [ONOS-474] - LinkManager logs "link vanished", even if no links vanished
  • [ONOS-477] - NPE when restarting an ONOS node with intents installed
  • [ONOS-478] - NPE in Mobility app
  • [ONOS-487] - onos-install fails when group name differs from user name
  • [ONOS-537] - Requesting output to controller results in receiving PacketIn messages with 0-length packet data
  • [ONOS-541] - single-inst ONOS VM stuck at high CPU after connecting to 500 switch topo
  • [ONOS-554] - Intents-events-metrics counts do not match even when there are no failed/stuck intents in ONOS
  • [ONOS-566] - ONOS "stuck" when "push-test-intent" of 100000 intents
  • [ONOS-577] - java.lang.ArrayIndexOutOfBoundsException during Hazelcast event processing
  • [ONOS-581] - Chordal ring topology does not converge on ONOS until ONOS restart
  • [ONOS-605] - Exceptions thrown while deserializing truncated or malformed packets
  • [ONOS-606] - ClassNotFound exception when deploying ONOS with onos-test command
  • [ONOS-609] - Moderately large numbers of intents do not generate correct number of FlowMods
  • [ONOS-653] - Null Device Provider causes exceptions in multi-node configuration
  • [ONOS-654] - onos-install show the cksum error: No such file or directory
  • [ONOS-661] - ICMP packets are dropped by deafult from OF 1.3 switches even when reactive forwarding is active
  • [ONOS-666] - Heap memory stuck at high usage level after long run of "demo installer"
  • [ONOS-675] - deleting a device(switch) with flow rule installed cause intent to stuck at WITHDRAW_REQ state
  • [ONOS-704] - onos-install returns an error when trying to deploy on a remote cell after switching branch
  • [ONOS-705] - Exception while running ONOS (master) - against Pica8 switch: java.lang.IllegalArgumentException: Device with ID of:5e3e486e73000187 not found
  • [ONOS-706] - Wrong log configuration file in CLI
  • [ONOS-711] - Intent Stress test (demo-installer) causes intent install drop after ~3min load
  • [ONOS-712] - Using demo Installer, intents cannot be installed on instances that has no mastership of switches
  • [ONOS-722] - Proxy ARP sometimes floods packets out the port they came in
  • [ONOS-735] - Sometimes, SDN-IP can not start together with ONOS as a feature in cell
  • [ONOS-776] - ConfigReader gives errors converting port 46864 to short
  • [ONOS-779] - NullPointerException thrown while deserializing malformed BDDP packets
  • [ONOS-787] - ONOS sends DELETE flow mods containing actions in OF1.0
  • [ONOS-807] - Can't install multi-point to single-point intents on the FSFW
  • [ONOS-808] - Fix Bug ONOS-807 - use explicit incoming port matching for Multi-point-to-single point Intents
  • [ONOS-832] - Null Devices started on one ONOS node can not be re-assigned mastership to another
  • [ONOS-833] - uninstall onos-null feature causes Null devices in unexpected states
  • [ONOS-835] - can not install and start two null link provider concurrently on two ONOS nodes
  • [ONOS-836] - "flicker" does not run, if reinstall "onos-null" after uninstall
  • [ONOS-864] - NPE in Hazelcast during backup
  • [ONOS-868] - "NoClassDefFound" exception in onos-intent thread
  • [ONOS-871] - When running two simultaneous demo installer on two nodes, one of the nodes get extremely low operation rate
  • [ONOS-886] - onos-core-net NPE when running demo installer
  • [ONOS-890] - Null Link Provider creates extra links when being run on multiple nodes
  • [ONOS-955] - Caught "NoSuchElement" exception while installing large-size intents using "push-test-intents"
  • [ONOS-959] - BgpSessionManagerTest unit test failure: BGP route entry lookup
  • [ONOS-974] - L2/L3 modification instruction equality is checking for wrong class
  • [ONOS-987] - PushHeaderInstructions contains incomplete Ethernet object
  • [ONOS-988] - With null link flickering test, scaling onos from 5 to 6(7) nodes causes all nodes thrashing and very low topo performance
  • [ONOS-997] - onos:cluster-devices argument "id" is incorrectly optional
  • [ONOS-1009] - ICMPv6 class has bad checksum calculation.
  • [ONOS-1010] - ProxyArpManager class has bug with creating IPv6 ND advertisement
  • [ONOS-1021] - Forwarding IPv6 NDP requests on external ports uses incorrect IPv6 source address
  • [ONOS-1112] - when install with large # of flows (flow-test.py), deleting flows takes long time
  • [ONOS-1113] - No links present on ONOS after bring up of att-topo from Mininet
  • [ONOS-1114] - All ONOS instances crashed after restarting mininet (NPE at WAIT_SWITCH_DRIVER_SUB_HANDSHAKE)
  • [ONOS-1151] - Filtering options in ONOS CLI shell are not working & causing some test scripts to fail
  • [ONOS-1155] - Topology won't converge in multinode cluster (switches and links)
  • [ONOS-1157] - "memory leak" after flow-tester.py test
  • [ONOS-1161] - Kryo exceptions in EventuallyConsistentMap under load
  • [ONOS-1162] - Hazelcast exceptions under load
  • [ONOS-1163] - Hazelcast Exceptions under load
  • [ONOS-1171] - NPE in GossipDeviceStore when disconnecting switches
  • [ONOS-1173] - exception during flow-tester.py testing flow throughput
  • [ONOS-1185] - flow-tester.py timeout/return "elapse" without error in log
  • [ONOS-1187] - flow-tester.py test results with large variance under light load
  • [ONOS-1189] - If a node has device mastership it will be placed in the standby queue when disconnecting from the cluster
  • [ONOS-1193] - ConcurrentModificationException while processing Device Event
  • [ONOS-1198] - Hazelcast exception: Current thread is not owner of the lock!
  • [ONOS-1208] - Gossip Link Store Exception: Requesting link timestamp without mastership
  • [ONOS-1210] - Instability when using demo installer to test intent installation performance
  • [ONOS-1212] - NPE - when running Intent (demo installer) test
  • [ONOS-1214] - Null provider can not form deterministic topology
  • [ONOS-1222] - ONOS takes over 60sec to load Null provider bundle
  • [ONOS-1286] - Links vanish when devices change mastership
  • [ONOS-1313] - Links are not discovered properly in multi-instance scenarios
  • [ONOS-1315] - IntentPerfInstaller does not read in correct config
  • [ONOS-1317] - Intents pending cli command does not support json output

Epic

  • [ONOS-578] - Improve Southbound Performance
  • [ONOS-643] - We need to complete integration tests for SDN-IP

Improvement

  • [ONOS-419] - LinkDiscovery: Suppress discovery on ports which have been configured not to be involved in link discovery
  • [ONOS-434] - summary command should print # of active nodes instead of all known nodes
  • [ONOS-461] - Maven version mismatch in bash_profile
  • [ONOS-470] - Username is statically configured in onos.conf
  • [ONOS-536] - `onos-group` for batching commands to all controllers in a cell
  • [ONOS-607] - controller port visualized uncorrectly into ONOS CLI
  • [ONOS-852] - Intent install concurrency
  • [ONOS-975] - equality check for type() in some of Instruction classes are redundant.
  • [ONOS-1003] - Add an option to flows command to print flows added per device

New Feature

  • [ONOS-451] - Augment Glyph library to be extensible
  • [ONOS-506] - Handle IPv6 Neighbor Solicitation in ReactiveForwarding
  • [ONOS-507] - Trace Neighbor Solicitation/Advertisement and IPv6 Data Packets in HostLocationProvider
  • [ONOS-508] - Implement IPv6 related classes in org.onlab.packet
  • [ONOS-535] - Show through the CLI the IP of the switches connecting to ONOS
  • [ONOS-539] - See port names
  • [ONOS-540] - Create a module to install default flows upon switches connection
  • [ONOS-624] - Distributed Application Management Framework

Story

  • [ONOS-9] - Define, Document and Automate HA test cases
  • [ONOS-11] - Document and Automate OF1.0/1.3 Functionality Tests (Single & Multi Instance)
  • [ONOS-24] - BW Calendaring App - Adding latency constaint
  • [ONOS-80] - Support sharding (partitioning) for DatabaseManager
  • [ONOS-101] - Extensible navigation & view framework
  • [ONOS-214] - How to: contribute to testing
  • [ONOS-278] - Show ports on links
  • [ONOS-279] - Clean up GUI Technical Debt
  • [ONOS-422] - Support IPv6 in SDN-IP
  • [ONOS-442] - Null Providers
  • [ONOS-450] - Implement Dark theme.
  • [ONOS-456] - UI Framework: migrate to AngularJS
  • [ONOS-481] - Revisit FlowRule equals design
  • [ONOS-483] - SDN-IP: support for 4-byte AS in BGP
  • [ONOS-491] - Start/stop LINC network elements from Mininet
  • [ONOS-494] - Deploy ONOS and SDN-IP on the local Internet2 testlab network
  • [ONOS-495] - Deploy ONOS 1.0.0 and SDN-IP on AL2S network
  • [ONOS-509] - Extend Selector and Treatment for IPv6-related Criteria
  • [ONOS-542] - ONOS Application as a distributed construct & deployable entity
  • [ONOS-561] - TestON Framework and Process Improvements
  • [ONOS-562] - HA Assessment and Test Enhancements
  • [ONOS-563] - Update CHO Test Plan on wiki with new Test cases
  • [ONOS-564] - Feature Test Enhancements
  • [ONOS-567] - Add a monitoring mechanism based on MadDash to the testlab deployment
  • [ONOS-584] - Finalized Network + Intent Performance Testing Methods and Metrics
  • [ONOS-589] - TestON Test Script preparation for Network TP Testing
  • [ONOS-593] - TestON Script Preparation for Intent TP Tests
  • [ONOS-608] - Test Coverage of Release 1.0.1 bug fixes
  • [ONOS-616] - FlowRuleService API enhancements
  • [ONOS-617] - FlowRuleManager refactoring
  • [ONOS-618] - IntentService API enhancements
  • [ONOS-619] - IntentStore refactoring
  • [ONOS-621] - TopologyManager refactoring
  • [ONOS-622] - Integration - Multi-ring RAFT store implementation
  • [ONOS-623] - Device Driver Framework
  • [ONOS-629] - Server-side processing of index.html
  • [ONOS-630] - Understand the behavior of SDN in case of network reset/re-configuration
  • [ONOS-632] - Intent dependency tracking
  • [ONOS-635] - Add IPv6 support to HostMonitor
  • [ONOS-650] - Intent-based Performance Test-Profile-Optimization Iterations
  • [ONOS-658] - Create Production testbed for HA and Functional testing
  • [ONOS-678] - Develop Intent Latency Test Script
  • [ONOS-693] - SDN-IP tutorial script for IPv6
  • [ONOS-698] - Write a technical document to describe SDN-IP and ONOS behavior - version 1
  • [ONOS-713] - Build a 7-node baremetal server cluster for Perf/Scale tests
  • [ONOS-716] - Develop SB Latency Test Script
  • [ONOS-719] - Develop SB TP Test Script
  • [ONOS-720] - Develop Intent TP Test Script
  • [ONOS-739] - SB Performance Test-Profile-Optimization-Retest Optimization
  • [ONOS-740] - Distributed Intent processing leveraging new Intent Store
  • [ONOS-742] - Multi-ring RAFT store prototype
  • [ONOS-746] - Improve intent stability for long-running test
  • [ONOS-747] - Repicate and understand ONOS bug ONOS-712
  • [ONOS-748] - Fix ONOS-735. Replicate the problem and put the correct dependencies between the modules involved in ONOS-735
  • [ONOS-757] - Start re-implementing modular Topology View
  • [ONOS-758] - FlashService implementation
  • [ONOS-759] - PanelService implementation
  • [ONOS-760] - QuickHelpService implementation
  • [ONOS-761] - VeilService implementation
  • [ONOS-762] - WebSocketService implementation
  • [ONOS-764] - Basic DeviceListView implementation
  • [ONOS-769] - Complete re-implementation of modular Topology View
  • [ONOS-841] - ONOS Thread names
  • [ONOS-855] - Improve SB Perf Data Presentation and Logging
  • [ONOS-856] - Improve NB+Core Performance Data Presentation and Logging
  • [ONOS-874] - Intent subsystem refactoring
  • [ONOS-893] - New CHO test scripts to run on 3 different topologies (ATT, Chordal, Spine)
  • [ONOS-907] - Add separate jenkins job for running CHO on maintenance branch
  • [ONOS-909] - Update and clean up TestON Github Main page and other links
  • [ONOS-910] - Write up a beginners tutorial on TestON and publish to onosproject wiki
  • [ONOS-924] - Add support for IPv6 Neighbor Discovery Proxy
  • [ONOS-925] - Develop Flow Rule Performance Test
  • [ONOS-927] - Delete FlowRules from disconnect devices
  • [ONOS-943] - Metrics for FlowService
  • [ONOS-957] - Add basic onos-app-ifwd test to be verified on all 3 CHO topologies
  • [ONOS-979] - Demonstrate scale-out for IP/optical app
  • [ONOS-1005] - Investigate if python threading could be used in test cases to call ONOS driver functions
  • [ONOS-1014] - Modify current Jenkins results script for CHO to include new topology tests
  • [ONOS-1033] - Restructure NullLinkProvider.
  • [ONOS-1054] - IntentStore cleanup for Performance
  • [ONOS-1058] - Intent CLI Command cleanup
  • [ONOS-1067] - SB Performance Test-Profile-Optimization-Retest Optimization
  • [ONOS-1074] - CLI for querying DatabaseManager's state (partition members, leaders, etc)
  • [ONOS-1077] - Develop Intent TP Test Script: Part 2
  • [ONOS-1078] - Propose vendor-neutral ROADM model
  • [ONOS-1118] - Button Factory
  • [ONOS-1119] - Toolbar Service
  • [ONOS-1120] - Toolbar API
  • [ONOS-1145] - Centralized component configuration
  • [ONOS-1180] - MultiThreaded HA Tests
  • [ONOS-1306] - Update the topology CLI driver function in TestON to work with new o/p format

Task

  • [ONOS-183] - Save and load hazelcast.xml from TestON dependencies folder to avoid overwrite
  • [ONOS-368] - Sporadic MasterShipStore unittest failure
  • [ONOS-588] - Document Final Test Plan on Wiki
  • [ONOS-773] - Implement a testcase for ONOS-260 bug to verify :Ping cannot go through when both P2P and H2H intent configured
  • [ONOS-869] - ONOS core extended flow rule and store for installing service data to network elements
  • No labels