SEBA has numerous dependencies that have to be ported to and/or validated on Arm hardware. As of February 25, 2019, this is the status of that effort. The items in red still need to be ported and tested. I've included the actual spreadsheet with links for ease of use.

Also, we have now confirmed that the major CORD components, including ONOS, do run on Ampere eMAG, Cavium TX1, Rockchip 3328, Rockchip 3399, HiSilicon Hi1616, and AllWinner H5.


Code is available at [iec.git] / src / use_cases / seba_on_arm /

https://gerrit.akraino.org/r/gitweb?p=iec.git;a=tree;f=src/use_cases/seba_on_arm;h=eb7ad5a5aeec3a18ead0039e7d66b5c92fa5d3db;hb=HEAD


Testing is available at

https://wiki.akraino.org/display/AK/SEBA+Testing

Port Overview

SebaImageDependencyList-03032019.xlsx

Trevor Tao Updated the spreadsheet with latest completions and also included % completion at bottom. Now 100% complete on total dependencies.

Opencord upstreaming work

This is a list of patches on gerrit.opencord.org, obtained by filtering by the owner

Merged:

Open

Other patches abandoned have not been listed here.

SEBA Upstreaming plan and outline

The drawing above corresponds to the initial plan outlined by Zack Williams from Open Networking Foundation, covered in the multi-arch brigade Technical starting points for the Multiarch brigade.

The rationale for doing this upstreaming work has been discussed in the CORD SEBA weekly meeting, you can listen to the recording 2019 07 02 SEBA Meeting.

Add support for ARM64 for the CORD Docker images

This is the initial goal, to be able to have continuous support for ARM64 for the Docker images that make up the CORD components. This is especially important since Opencord is moving very fast towards adding new functionality and improving the quality and scalability.
Subsequently, to achieve this we need to cover two bases:

Packer support for ARM64

This is needed because Opencord uses Packer built images as a build environment for the Docker images. The images are built as Amazon AWS ami images, so in fact when a Docker image is built, an AWS instance is spawned, and in here the docker build command is issued.

For the Packer ARM64 support work there are details in the Opencord JIRA SEBA-877. Further more, there were a few gerrit changes submitted to this end:

Recently, more issues surfaced regarding this work, and now we need to add support to Python3, since Python2.7 is not supported anymore.

Also, since Opencord uses LF tools (releng-global-jjb and releng-common-packer), the incentive is to also move to the new Ansible provisioning method.

Jenkins Jobs for building Docker images

This is the actual work that enables ARM64 support for building the Docker images. It's not entirely clear now how to go about this, whether it means duplicating jobs or not, but as a reference here is the Jenkins job that builds and the VOLTHA images to Dockerhub voltha repository:

https://jenkins.opencord.org/job/voltha-publish/

Towards this end, we will need to re-work the list of initial patches sent to upstream, mentioned above. The patches have either gone stale, or do not fit well with the way the infrastructure works, and that is why at the moment those patches cannot be accepted in upstream.

Add support for ARM64 in upstream helm-charts

The Opencord project uses helm charts to deploy SEBA, and these are under version control in the helm-charts repository. Ideally we would want to be able to use the same repository once the Docker images are in place. This can probably be achieved by introducing custom yaml config scripts that will make the charts point to the correct Docker images for ARM64.