Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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:

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:

ComponentChart versionApp VersionComments
etcd-operator0.8.30.9.3
kafka0.13.35.0.1
zookeeper1.2.0v3
ONOS2.0.1-b22.2.1-b5
VOLTHA1.0.91.7.0
xos-core3.0.133.3.1xos-tosca version 1.3.0
seba-services1.4.4N/Asee spreadsheet above for more details
att-workflow1.3.0N/Aatt-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:

https://github.com/iecedge/helm-k8s-charts

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:

ComponentChart version
Incubator
Zookeeper0.13.3
Kafka1.2.0
Stable
etcd-operator0.8.3
elasticsearch1.15.3
fluentd-elasticsearch1.4.1
grafana4.0.2
kibana1.1.2
logstash1.4.2
prometheus9.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":

...

https://iecedge.github.io/helm-charts/cord/index.yaml

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

https://iecedge.github.io/helm-k8s-charts/stable/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