Table of Contents |
---|
There has been extensive work to port and validate SEBA running on ARM hardware, as described here.
...
However, the SEBA 2.0-alpha release was not considered stable enough at the time of the release, so the development work has continued upstream until a more stable, development version could be used as a reference for porting.
Software Platform
During the porting effort, SEBA has been verified almost exclusively using IEC Type 2 Platform. You can read more about the architecture and installation notes from the wiki pages:
- Integrated Edge Cloud (IEC) Blueprint Family
- IEC Type 2 for Integrated Edge Cloud (IEC) Blueprint Family
- IEC Type1&2 Installation Guide for R2
More recently, the work has also continued for verifying SEBA on a TA cluster running on the 3-node Ampere Pod 1 in the Akraino Community Lab at UNH-IOL.
You can get more infomation about the TA Platform from the wiki pages below. Note that TA is most commonly associated with running Radio Edge Cloud (REC) Blueprint, but the TA Platform is common for both REC and SEBA.
Note that at the moment, the work for verifying SEBA on ARM on TA is still in progress.
Software base
The 2nd interation of the SEBA for ARM port uses a snapshot of the master (development) branch of the various Opencord components, which was taken at a point in time where it was stable enough to be considered for porting.
The porting was done on several key components from Opencord.
Main helm-charts git repository
Opencord stores all the helm charts components in the helm-charts repository. This allows keeping the charts under version control and tracking changes by the developers.
...
In summary, here are the most important components and their chart and application versions:
Component | Chart version | App Version | Comments |
---|---|---|---|
etcd-operator | 0.8.3 | 0.9.3 | |
kafka | 0.13.3 | 5.0.1 | |
zookeeper | 1.2.0 | v3 | |
ONOS | 2.0.1-b2 | 2.2.1-b5 | |
VOLTHA | 1.0.9 | 1.7.0 | |
xos-core | 3.0.13 | 3.3.1 | xos-tosca version 1.3.0 |
seba-services | 1.4.4 | N/A | see spreadsheet above for more details |
att-workflow | 1.3.0 | N/A | att-workflow driver chart version 1.1.2 appVersion 1.2.3 |
Additional charts git repository
Besides the CORD related component charts, there are other charts that had to be ported to make SEBA work on ARM architecture.
These components have been divided into two categories and the chart code has been placed in the helm-k8s-charts git repository:
There are two categories, stable and incubator.
The stable category refers to the Kubernetes specific applications and is generally added by default when a Kubernetes cluster is created.
The incubator category refers to the kafka and zookeeper componentes, where "incubator" is the designation for the helm repository in Opencord parlance.
The table below lists the components by categories:
Component | Chart version |
---|---|
Incubator | |
Zookeeper | 0.13.3 |
Kafka | 1.2.0 |
Stable | |
etcd-operator | 0.8.3 |
elasticsearch | 1.15.3 |
fluentd-elasticsearch | 1.4.1 |
grafana | 4.0.2 |
kibana | 1.1.2 |
logstash | 1.4.2 |
prometheus | 9.3.1 |
SEBA-in-a-Box and automation-tools
...
Deliverables and installation notes
Helm
...
repositories
SEBA is generally deployed using 3 set of charts, referred here as "combined charts" or "release charts":
...
Additionally, another two helm repositories have been created for storing charts for components not associated with Opencord. This helps to keep the main CORD specific repository free from generic, Kubernetes and third party applications. You can view the indexes of these two helm repositories here:
https://iecedge.github.io/helm-k8s-charts/incubator/index.yaml
Step by step installation instructions as follows:
...
Code Block |
---|
helm install -n att-workflow --version 1.3.0 cord/att-workflow |
The git repositories
It is possible to install SEBA as individual components as well, using the forked iecedge/helm-charts - cord-7.0-arm64.
Note that at this moment, this is the only possible method to install SEBA for ARM by individual components. In contrast, the Opencord delivers the individual components as packaged helm chart in their https://charts.opencord.org/ helm repo. However, using the git repository has the same effect, so functionality is not lost.
To begin, you need to clone the git repository:
Code Block |
---|
git clone https://github.com/iecedge/helm-charts.git -b cord-7.0-arm64
git clone https://github.com/iecedge/helm-k8s-charts.git -b master |
You can follow instructions on the SEBA Installation Guide for installing the individual components. Note that instead of installing the components from the helm repository, you need to install them from the git repository, by specifying the absolute or relative path to the respective directories.
Installing SEBA-in-a-Box
If you decide to install SEBA-in-a-Box for arm64, you need to clone the forked iecedge/automation-tools and run a few commands.
Note that during the porting work, the HW setup implied using iecedge 3-node clusters, so the charts and commands have been tailored to work on 3 nodes, rather than a single node like in upstream Opencord. The same should work just as well on a single node, but it hasn't been verified recently.
If needed, check the information on Integrated Edge Cloud (IEC) Blueprint Family and the IEC Type1&2 Installation Guide for R2.
Also note that automation-tools implies an Ubuntu environment, Ubuntu 18.04 is verified and recommended. Alternatively, you can try running on different distributions, as long as you modify the seba-in-a-box/Makefile accordingly and make sure the necessary dependencies are installed.
Code Block |
---|
git clone https://github.com/iecedge/automation-tools -b cord-7.0-arm64
cd automation-tools/seba-in-a-box
# The env.sh prepares the environment in a way that seba-in-a-box/Makefile expects it to be
# and sets helm-charts to the iecedge specific repo
source env.sh
make stable |
Once the installation is finished, you can also try to run the SIAB tests:
Code Block |
---|
make run-tests |