oran-onos
Image based on ONF's SDN ONOS Classic controller, developed for the OpenRAN@Brazil project.
10K+
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.
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.
Below is a table that presents the options that can be used during the installation of ONOS Classic with Helm, using the '--set' flag.
| Option | Description | Default Value | Change To |
|---|---|---|---|
| atomix.podAntiAffinity.enabled | Pod Affinity Policy for Atomix pods. With "PodAffinity" enabled by default, atomix pods will not start without 3 worker nodes. | true | false |
| podAntiAffinity.enabled | Pod Affinity Policy for ONOS Classic pods. With "PodAffinity" enabled by default, onos-classic pods will not start without 3 worker nodes. | true | false |
| atomix.replicas | Number of Atomix pods that will be instantiated. | 3 | - |
| replicas | Number of ONOS Classic pods that will be instantiated. | 3 | - |
| image.repository | Repository where the ONOS Classic image will be obtained. | onosproject/onos | muriloavlis/oran-onos |
| image.tag | Version of the ONOS Classic image that will be fetched from repository. | latest | latest |
| atomix.image.tag | Version of the Atomix image that will be fetched from repository. | latest | 3.1.12 |
| resources.requests.cpu | Number of CPUs used by ONOS Classic pods | 500m | - |
| atomix.resources.requests.cpu | Number of CPUs used by Atomix pods | 500m | - |
| resources.requests.memory | Amount of RAM memory used by ONOS Classic pods | 512Mi | - |
| atomix.resources.requests.memory | Amount of RAM memory used by Atomix pods | 512Mi | - |
| atomix.persistence.storageClass | Storage class to be used by Atomix to ensure data persistence | - | local-storage |
| atomix.persistence.size | Size of persistent storage to be created by each Atomix pod | 10Gi | - |
| atomix.persistence.enabled | Enables/disables persistent storage used by Atomix | true | true |
| apps | Applications to be launched with the ONOS Classic | {} | - |
[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/
Content type
Image
Digest
sha256:5a424c550…
Size
487.7 MB
Last updated
almost 2 years ago
docker pull muriloavlis/oran-onos