Introduction and Purpose of the SEBA Architecture

SEBA Blueprint is a member of the Telco Appliance blueprint family and provides an appliance tuned to support the ONF SDN-enabled Broadband Access (SEBA) platform.  The SEBA blueprint utilizes a reusable set of modules introduced by the first example of the Telco Appliance blueprint family, Radio Edge Cloud (REC)The first use case of the SEBA blueprint is for virtual broadband access using XGS-PON.  XGS-PON is a 10-Gbps symmetric passive optical network, standardized in the G.987.x series of ITU-T Recommendations.

The SEBA blueprint provides the following on designated servers:

High level architectural view: 

The difference between the high level architectural views for SEBA and REC is in the upstream components that are included (VOLTHA, ONOS, NEM for SEBA and RIC components for REC).  Note that development of some of the common elements (such as Elasticity and High Availability) for the Telco Appliance family will occur in future phases.


Objectives

Components of SEBA

Note: For Akraino Release 2, the TA ISO and REC ISO are identical, so the SEBA application is installed directly on REC; as such, the only difference between the SEBA Component list and the REC Component list is the addition of VOLTHA, ONOS, and NEM upstream components.  Further information on VOLTHA, ONOS, and NEM can be found at the following links:


Components Used in Creation of the ISO Image

  • Build-tools: Based on OpenStack Disk Image Builder
  • Dracut: Tool for building ISO images for CentOS
  • RPM Builder: Common code for creating RPM packages
  • Specs: the build specification for each RPM package
  • Dockerfiles: the build specifications for each Docker container
  • Unit files: the systemd configuration for starting/stopping services
  • Ansible playbooks: Configuration of all the various components
  • Test automation framework


Components Which Provide Additional SEBA Functionality

  • L3 Deployer: an OpenStack Ironic-based hardware manager framework
  • Hardware Detector: Used to adapt L3 deployer to specific hardware
  • Virtual installer: tooling to deploy SEBA on a VM (for testing only)
  • North-bound REST API framework: For creating/extending SEBA APIs
  • CLI interface
  • AAA server to manage cloud infrastructure users and their roles
  • Configuration management
  • Container image registry
  • Security hardening configuration
  • A distributed lock management framework
  • Remote Installer: Docker image used by Regional Controller to launch deployer


Upstream Components That Are Packaged Into SEBA with Configuration and Tuning:

  • CPU Pooler: Open Source Nokia project for K8s CPU management
  • DANM: Open Source Nokia project for K8s network management
  • Flannel: K8s networking component
  • Helm: K8s package manager
  • etcd: K8s distributed key-value store
  • kubedns: K8s DNS
  • Kubernetes
  • Fluentd: Logging service
  • Elasticsearch: Logging service
  • Prometheus: Performance measurement service
  • OpenStack Swift: Used for container image storage
  • Ceph: Distributed block storage
  • NTP: Network Time Protocol
  • MariaDB, Galera: Database for OpenStack components
  • RabbitMQ: Message Queue for OpenStack components
  • Python Peewee: A Python ORM
  • Redis
  • VOLTHA: Virtual OLT Hardware Abstraction
  • NEM: Network Edge Mediator
  • ONOS: Open Network Operating System