Akraino Radio Edge Cloud (REC) provides an appliance tuned to support the O-RAN Radio Access Network Intelligent Controller (RIC) and is the first example of the Telco Appliance blueprint family which provides a reusable set of modules that will be used to create sibling blueprints for other purpose tuned appliances.

High level architectural view:



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:


     * RIC is the application running on the REC appliance

     * Other appliances will be created by combining other applications with

       the same underlying components to create additional blueprints

     * Fully automated testing includes running full application test suite


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


Additional REC 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 REC on a VM (for testing only)

* North-bound REST API framework: For creating/extending REC 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 RC to launch deployer


Upstream components that are packaged into REC include:

_______________________________________________________


* 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