From 66bbf4cb2fdd200024cef0fe0c4f0f0eddff5f84 Mon Sep 17 00:00:00 2001 From: Thomas Vachuska Date: Wed, 8 Jan 2020 14:25:38 -0800 Subject: [PATCH] Add RELEASES.md document. Change-Id: I059426ed09a4d57806e96e24e6e9ec12c53c2db5 --- RELEASES.md | 168 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 168 insertions(+) create mode 100644 RELEASES.md diff --git a/RELEASES.md b/RELEASES.md new file mode 100644 index 0000000000..22045d77b5 --- /dev/null +++ b/RELEASES.md @@ -0,0 +1,168 @@ +# ONOS Release Notes +This documents provides a running log describing high-level features +introduced in each recent ONOS release. Developers are encouraged to describe +their changes to keep the ONOS community up-to-date with the recent developments. + +## 2.3 - January 2020 +#### Platform +* Upgraded to build via Bazel 1.0 - backported to 2.2 LTS and 1.15 LTS +* Publishing dependencies pom.xml for use by archetypes and 3rd party apps +* Updated 3rd party dependencies +* Fixed and updated ONOS Helm charts + +#### GUI 2 +* Upgrade to Angular 9 and NodeJS 12 +* Native Bazel build of NPM modules; no more genrules and scripts +* Additional views to close the GUI/GUI2 gap +... + +#### Stratum Support +* Southbound improvements and bug fixes in P4Runtime, fabric.p4, gNMI, gNOI +* Support Trellis and SEBA/BNG offloading use cases +... + + +## 2.2 (LTS) - September 2019 +#### Platform +* Upgraded to build and run with JDK 11 +* Upgraded to build with Bazel 0.27 +* Upgraded to run Apache Karaf to 4.2.6 +* Packet processing priority queues added by Nikolayi Merinov from Inango Systems + +#### GUI 2 +* ROADM GUI extended with editable fields for power settings +* GUI2 Framework library reused in µONOS + +#### Stratum Support +* `fabric.p4` improvements + * Initial support for PPPoE-based BNG offloading (bng.p4) (demo at Connect ‘19) + * Support for ACL clone to CPU (i.e. packet-in) actions via P4Runtime Clone Sessions + * Enabled Travis CI on fabric-p4test, run PTF-based tests on BMv2 +* Added stratum-fpm driver +* Stratum+ONOS interoperability demo (Connect ‘19) +* Transitioned dev environment from VM to Docker + + +## 2.1 - April 2019 +#### Platform +* Upgraded Apache Karaf to 4.2.3 +* Upgraded to build with Bazel 0.25 + +#### GUI 2 +* Big focus on Topology View +* Background maps +* Absolute locations +* Grid view +* Multiple node selections +* Display of intents +* Display of mastership +* Dynamic updates to topology +* Moved topology to its own library gui2-topo-lib + +#### Stratum Support +* P4Runtime improvements + * Bumped to P4Runtime v1.0.0 + * New lock-free P4Runtime client implementation (i.e. allow concurrent RPCs) with support for batched write/read requests and detailed error reporting (tested with 100K routes on Trellis) + * Improved mastership handling (use same backup node preference as in the mastership service) + * Write P4Runtime Clone Sessions via ONOS Group API + * Initial support for in-service device pipeline upgrades +* Set port oper status via gNMI + * Via ONOS CLI command portstate (based on OpenConfig Interfaces model) +* Initial gNOI support (contribution from PLVision) + * Via ONOS CLI command device-reboot +* Major refactoring of connection handling for all gRPC-based southbounds + * Use one gRPC channel with multiple clients, allow providers to subscribe to gRPC channel events +* Support building third-party pipeconf-based apps with Maven +* New ONOS+P4 tutorial “Build an SRv6-enabled fabric with ONOS and P4” + * https://github.com/opennetworkinglab/onos-p4-tutorial +* New drivers + * stratum-bmv2, stratum-tofino (replaces private Barefoot driver) + * gnmi-standalone (Allow using gNMI as standalone protocol) + +#### SONA - CNI +* Supported PODs communication +* Supported Service IP communication +* Supported NodePort based service exposure (inter-node only for now) +* Implemented IPAM CNI extension by leveraging Atomix store +* Implemented k8s node bootstrapping (kbr-int, kbr-ex bridge and tunnel port provisioning) +* Cached k8s resource to Atomix by implementing k8s watcher (relies on fabric8 dependency) +* Implemented CLIs for querying k8s resources (POD, service, endpoints, ingress, etc.) + + +## 2.0 - January 2019 +#### Platform +* Upgraded Apache Karaf to 4.2.2 +* Build with Bazel 0.21.0 and JDK 8 or OpenJDK 8 - JDK 11 build pushed out +* Upgraded to Atomix 3.1 + +#### GUI 2 +* Topology View migration continued + * Hosts icon implemented + * Icons enhanced + * Details view - driven by context and linking + * Toolbar - keyboard shortcuts and icons + * Traffic monitoring + * Localization support + +#### Stratum Support +* Upgraded P4Runtime version to 1.0.0-rc3 +* Initial support for gNMI and OpenConfig Interfaces model + * Port discovery, stats polling, subscription to port up/down events +* Added Stratum driver (extends P4Runtime and gNMI drivers) +* Various improvements to fabric.p4 + * Added support for Double-VLAN cross-connect + * Major refactoring of fabric.p4 to optimize HW pipeline stage utilization (went from 10 to 6 stages) + * Refactoring of pipeliner implementation +* Various bugfixes for gRPC client handling +* Initial support for gRPC secure channels via SSL/TLS (Brian) + +#### ODTN +* Phase 1.0 expand/refactor support for TX discovery and programming + * Cassini + * Infinera XT-3300 + * FlowRuleProgrammable OpenConfig for phase 1.5 +* Updated TAPI to 2.1.1 version +* Updated OpenConfig Models to Reference Design Spec +* DCS 2.6 release with bugfixes +* Various RESTCONF/Netconf bugfixes + + +## 1.15 (LTS) - December 2018 +#### Platform +* Upgraded build of ONOS code-base to use Bazel rather than Buck +* Removed vestigal pom.xml and BUCK files +* Atomix / ONOS Cluster enhancements + * Migrated distributed primitives, cluster management, and intra-cluster communication to Atomix + * Re-architected ONOS cluster to store consistent, persistent state externally and tolerate n-1 failures +* ISSU + * Support rolling upgrades of Atomix clusters for introducing bug fixes and new features + * Created a test framework for validating backwards compatibility for upgrades + +#### GUI 2 +* Rebuilt GUI application on Angular v6 - major upgrade from 1.3.x +* Angular CLI Build, Test and Lint added to BUCK build and test +* Framework code mostly ported to Angular 6 + * Some refactoring to align with Angular 6 philosophy i.e. no d3 element manipulations + * LION, WebSockets, Menu, Navigation all ported +* Views ported: + * Devices, Apps, Flows, Ports, Links, Group, Meter, Tunnel, Hosts, Settings, Clusters, Partitions +* Replaced Table Builder and Table Details Builder with base classes made possible in ES6 +* Enhancements - Lazy loading - load view only when necessary +* Very little changes to backend Java code + +#### P4 / P4Runtime +* In-band Network Telemetry (INT) ONOS service and reference int.p4 implementation +* Added new features to fabric.p4 + * VLAN tagged ports, ARP request broadcast, IPv4 multicast, “clone to controller” behavior in ACL table (for cloning ARP requests), initial INT support +* Created PTF-based fabric.p4 data plane tests + * https://github.com/opennetworkinglab/fabric-p4test + * Test cases for forwarding, GTP termination, and INT +* Created STC scenario to deploy fabric.p4 +* P4Runtime southbound improvements + * Changes to improve scalability (tested up to 200 BMv2 instances on 3-node ONOS cluster) + * Support re-connection to lost devices + * Support for multicast APIs (via packet replication engine) +* P4Runtime-based driver for Mellanox Spectrum-based switches +* Improved learning material: ONOS+P4 tutorial + * Includes hands-on exercises and new “MyTunnel” ONOS app (apps/p4-tutorial) +