Major new features to SEBA include the following:
Technology profiles provide technology specific data to devices. The NEM and Voltha are technology-agnostic and treat profiles as opaque data, which is passed through the system to the appropriate devices. The NEM was extended with data modeling to allows these opaque profiles to be attached to subscribers on a per-subscriber basis. Profiles may be configured in the NEM via TOSCA, gRPC API, or the NEM's graphical user interface. Due to the opaque nature of the data, configuration using TOSCA is likely the most convenient mechanism.
Bandwidth profiles allow upstream and downstream bandwidth specifications to be created and attached to subscribers on a per-subscriber basis. Modeling to manage these profiles was created in the NEM, the sadis server was extended to report these profiles, and ONOS extended to retrieve the data using sadis. As with Technology Profiles, Speed Profiles may also be configured through the NEM via TOSCA, gRPC API, or the NEM GUI.
The workflow was modified to allow the administrator to persistently disable an ONU, preventing the workflow from re-enabling that ONU automatically.
SEBA transitioned from the CORD 6.1 platform to the CORD 7.0 platform, which has the following major changes:
A new command-line interface was created, cordctl
, that administrators may use to manage the NEM. This tool provides an alternate interface to many of the functions that may also be done using the NEM GUI. corctl
is written in the go programming language and installs to an administrator's computer as a single binary.
The NEM API was extended to provide additional data about versioning and database operational status, which can be viewed using cordctl
.
Backup and Restore features have been added for the NEM data model. These features may be invoked using the cordctl
tool described above, or invoked by other third-party tools using the NEM's gRPC API. Backup stores the contents to a file that is downloaded to the administrator's computer, and restore uploads that file and uses it to replace the current database contents.
In Service Software Upgrade of NEM services allows new services to be added or existing services to be upgraded on a live deployment. The NEM is paused while this upgrade occurs. Live data is migrated from the old version of the data model to the new version. Unwanted services may be subsequently unloaded and their data discarded.
Several obsolete models were removed from the NEM's core data model. Validation was implemented in the xproto
language that is used to describe models within the data model to promote consistent use of fields and options. An analysis was performed on the use of declarative and feedback state, and tools were created to make this analysis easier for developers.
The base image for several NEM-related components was changed from Ubuntu to Alpine in order to promote smaller container sizes.
The TOSCA loader was modified to retry internally rather than relying on Kubernetes as a retry mechanism. This results in faster and more predictable deployments.
The following improvements were made to the GUI:
The GUI was improved to hide fields such as backend_status and policy_status for models that do not require those fields.
Performance issues with Chrome browsers were resolved.
Issues with broken navigation between related models were resolved.
SEBA-in-a-Box has been extended to allow easy configuration of multiple Ponsim OLTs, ONUs, and RGs.
A gRPC API was implemented for BBSIM that allows information about simulated devices to be retrieved and updated, as well as to trigger simulated alarms.
The following FCAPS improvements were made:
Kafka-topic-exporter was updated to use a configuration file, and to use logging consistent with other SEBA components.
The operational status of the RADIUS accounting server is collected, published to Kafka, and processed by kafka-topic-exporter, where it is then made available in Prometheus on the NEM.
Field naming of various event payloads was made more consistent.
Periodic ONU Test actions were enabled to collect optical data from ONUs and publish it to Kafka.
The following component versions comprise the SEBA 2.0 Release:
xosproject/att-workflow-driver-synchronizer:1.2.3 xosproject/tosca-loader:1.3.0 xosproject/kubernetes-synchronizer:1.2.1 xosproject/tosca-loader:1.3.0 confluentinc/cp-kafka:5.0.1 gcr.io/google_samples/k8szk:v3 registry:2.7.1 quay.io/coreos/etcd:v3.2.18 quay.io/coreos/etcd:v3.2.18 quay.io/coreos/etcd:v3.2.18 quay.io/coreos/etcd-operator:v0.9.3 quay.io/coreos/etcd-operator:v0.9.3 quay.io/coreos/etcd-operator:v0.9.3 onosproject/onos:1.13.9 docker.elastic.co/beats/filebeat-oss:6.4.2 opencord/sadis-server:1.1.0 xosproject/fabric-synchronizer:2.2.1 xosproject/fabric-crossconnect-synchronizer:1.2.1 xosproject/onos-synchronizer:2.1.1 xosproject/rcord-synchronizer:1.3.2 xosproject/tosca-loader:1.3.1 xosproject/volt-synchronizer:2.2.4 xosproject/chameleon:3.3.0 xosproject/xos-core:3.2.9 postgres:10.3-alpine xosproject/xos-gui:1.0.6 xosproject/xos-tosca:1.3.0 xosproject/xos-rest-gw:2.0.2
gcr.io/google_containers/defaultbackend:1.4 tpdock/freeradius:2.2.9 voltha/voltha-netconf:voltha-1.7 quay.io/kubernetes-ingress-controller/nginx-ingress-controller:0.10.2 voltha/voltha-ofagent:voltha-1.7 voltha/voltha-cli:voltha-1.7 voltha/voltha-voltha:voltha-1.7 voltha/voltha-envoy:voltha-1.7
aaa: 1.9.0 sadis: 3.1.0 olt: 3.0.1 dhcpl2relay: 1.6.0 Kafka: 1.1.0
openolt: voltha-1.7.0 (use Debian package openolt-1_7_0.deb)
voltha/voltha-bbsim: 2.0.1