Uno, instala Bazel
Hay varias formas de instalar Bazel en Ubuntu:
- Instalar a través de npm
Este método necesita instalar nodejs, el comando esnpm install -g @bazel/bazelisk
sudo apt install nodejs
- Use el repositorio apt de Bazel
Paso 1: agregue el URI de la versión de Bazel como fuente del paquete
Paso 2: instala y actualiza Bazelsudo apt install curl gnupg curl -fsSL https://bazel.build/bazel-release.pub.gpg | gpg --dearmor > bazel.gpg sudo mv bazel.gpg /etc/apt/trusted.gpg.d/ echo "deb [arch=amd64] https://storage.googleapis.com/bazel-apt stable jdk1.8" | sudo tee /etc/apt/sources.list.d/bazel.list
sudo apt update && sudo apt install bazel
2. Obtenga el código fuente de ONOS
Asegúrese de que git esté instalado, luego cree un clon local del repositorio de origen:
git clone https://gerrit.onosproject.org/onos
Si la descarga es lenta, puede usar gitee
git clone https://gitee.com/mirrors/onos.git
Tres, construir
Entrar en la carpeta de onos
cd onos
Pass git tag
puede ver la lista de versiones, Pass git checkout 版本号
puede seleccionar la versión, la predeterminada es la última
Ejecutar compilación
bazel build onos
Este paso requiere descargar muchos paquetes, lleva mucho tiempo y se pueden reportar algunos errores, por ejemplo:
Generalmente, es un problema de red y se puede ejecutar varias veces.bazel build onos
Finalmente aparece esto, indicando que se ha construido con éxito
Cuarto, corre
Ejecutando una orden
bazel run onos-local
Para conectarse a la consola ONOS CLI, puede ejecutar
./tools/test/bin/onos localhost
Después de conectarse, puede ejecutar varios comandos de ONOS CLI y Apache Karaf. Por ejemplo, para iniciar las aplicaciones OpenFlow y ReactiveForwarding, puede hacer lo siguiente:
app activate org.onosproject.openflow
app activate org.onosproject.fwd
Visite http: // localhost: 8181 / onos / ui a través de un navegador, la
cuenta es onos y la contraseña es increíble
Para iniciar una red de Mininet controlada por una instancia de ONOS que ya se está ejecutando en la computadora de desarrollo, puede usar el siguiente comando:
sudo mn --switch ovs,protocols=OpenFlow13 --controller remote
En la situación de visualización de onos gui:
Durante la prueba, se descubrió que las versiones de openflow11 y openflow12 no pueden ser resueltas por onos, y no entiendo por qué