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