muriloavlis/oran-onos

By muriloavlis

Updated almost 2 years ago

Image based on ONF's SDN ONOS Classic controller, developed for the OpenRAN@Brazil project.

Image
Networking
2

10K+

muriloavlis/oran-onos repository overview

ORAN-ONOS: OpenRAN ONOS

Custom docker image based on ONF's SDN ONOS Classic controller, developed for the OpenRAN@Brazil project.

Note: This repository contains the ORAN-ONOS image described in a paper written by Murilo Silva, Matheus Gomes, Victor Dias, Lucas B. Oliveira, Fernando Farias, Antônio Abelém entitled "Redes Definidas por Software para a Orquestração de Diferentes Domínios Tecnológicos" and published in XIV Workshop de Pesquisa Experimental da Internet do Futuro (WPEIF), DOI: https://doi.org/10.5753/wpeif.2023.753, May 2023. Please cite the paper if you plan to use it in your publication.

Features

  • Based in ONOS Classic master (commit 25597);
  • VOLTHA apps installed;
  • SD-Fabric apps installed;
  • ODTN apps included;
  • Driver for cassini Ocnos V5 transponder included (cassini-ocnos5);
  • Optimized controller (only necessary applications installed).

Using the image in Kubernetes

To use the ONOS Classic image on Kubernetes, you need to add the Atomix and Onosproject repositories in Helm.

helm repo add atomix https://charts.atomix.io
helm repo add onosproject https://charts.onosproject.org
helm update

After adding the repositories, the installation command with Helm should be used to deploy the Atomix and ONOS Classic on the Kubernetes cluster. The following command installs 1 instance of ONOS Classic and Atomix in a namespace called onos-classic, disabling the pod affinity policy.

Note: Don't forget to replace "your-storage-class" with the corresponding storage class of your Kubernetes cluster.

helm install onos-classic -n onos-classic --set atomix.podAntiAffinity.enabled=false --set podAntiAffinity.enabled=false --set replicas=1 --set atomix.replicas=1 --set image.repository=muriloavlis/oran-onos --set image.tag=latest --set atomix.image.tag=3.1.12 --set atomix.persistence.storageClass=<your-storage-class> onosproject/onos-classic --create-namespace

Note: To learn more about the options that can be used, see the section Installation Options with Helm.

Installation Options with Helm

Below is a table that presents the options that can be used during the installation of ONOS Classic with Helm, using the '--set' flag.

OptionDescriptionDefault ValueChange To
atomix.podAntiAffinity.enabledPod Affinity Policy for Atomix pods. With "PodAffinity" enabled by default, atomix pods will not start without 3 worker nodes.truefalse
podAntiAffinity.enabledPod Affinity Policy for ONOS Classic pods. With "PodAffinity" enabled by default, onos-classic pods will not start without 3 worker nodes.truefalse
atomix.replicasNumber of Atomix pods that will be instantiated.3-
replicasNumber of ONOS Classic pods that will be instantiated.3-
image.repositoryRepository where the ONOS Classic image will be obtained.onosproject/onosmuriloavlis/oran-onos
image.tagVersion of the ONOS Classic image that will be fetched from repository.latestlatest
atomix.image.tagVersion of the Atomix image that will be fetched from repository.latest3.1.12
resources.requests.cpuNumber of CPUs used by ONOS Classic pods500m-
atomix.resources.requests.cpuNumber of CPUs used by Atomix pods500m-
resources.requests.memoryAmount of RAM memory used by ONOS Classic pods512Mi-
atomix.resources.requests.memoryAmount of RAM memory used by Atomix pods512Mi-
atomix.persistence.storageClassStorage class to be used by Atomix to ensure data persistence-local-storage
atomix.persistence.sizeSize of persistent storage to be created by each Atomix pod10Gi-
atomix.persistence.enabledEnables/disables persistent storage used by Atomixtruetrue
appsApplications to be launched with the ONOS Classic{}-

Acknowledgments

  • Federal University of Pará (UFPA)
  • National Education and Research Network (RNP)
  • Research and Development Center in Telecommunications (CPQD)
  • Research Group on Computer Networks and Multimedia Communication (GERCOM-UFPA)

Source Code

References

[1] https://opennetworking.org/onos/

[2] https://hub.docker.com/r/onosproject/onos

[3] https://gerrit.onosproject.org/

[4] https://kubernetes.io/docs/setup/production-environment/container-runtimes/

Tag summary

Content type

Image

Digest

sha256:5a424c550

Size

487.7 MB

Last updated

almost 2 years ago

docker pull muriloavlis/oran-onos