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:

  • Installation of host OS
  • Configuration of network
  • Installation/setup of Kubernetes cluster
  • Installation/validation for SEBA components (VOLTHA, NEM, ONOS)
  • Utilization of reusable components of the “Telco Appliance” blueprint family
  • Automated Continuous Deployment pipeline testing the software stack (bottom to top, from firmware up to but not including application)
  • Integration with Regional Controller (Akraino Feature Project) for “zero touch” deployment of SEBA to edge sites
  • Deployability to multiple hardware models (future)

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

  • Fully automated simultaneous deployment and testing on multiple hardware platforms
    • Blueprint defines exact hardware configurations
    • Each hardware variant is deployed into a Continuous Deployment system that runs the full test suite
  • Appliance model automates the installation, configuration and testing of:
    • Firmware and/or BIOS/UEFI
    • Base Operating System
    • Components for management of containers, performance, fault, logging, networking, CPU
  • Application:
    • SEBA is the application running on the Telco Appliance
    • Note: Full SEBA application testing falls under the scope of ONF

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




  • No labels