Один, установите Bazel
Есть несколько способов установить Bazel в Ubuntu:
- Установить через npm
Этот метод требует установки nodejs, командаnpm install -g @bazel/bazelisk
sudo apt install nodejs
- Используйте репозиторий Bazel apt
Шаг 1. Добавьте URI выпуска Bazel в качестве источника пакета
Шаг 2. Установите и обновите 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. Получить исходный код ONOS.
Убедитесь, что git установлен, затем создайте локальный клон исходного репозитория:
git clone https://gerrit.onosproject.org/onos
Если загрузка идет медленно, можно использовать gitee
git clone https://gitee.com/mirrors/onos.git
Три, построить
Войдите в папку onos
cd onos
Pass git tag
может просматривать список версий, Pass git checkout 版本号
может выбирать версию, по умолчанию последняя
Выполнить сборку
bazel build onos
Этот шаг требует загрузки большого количества пакетов, занимает много времени и может сообщать о некоторых ошибках, например:
Как правило, это проблема сети и может выполняться несколько раз.bazel build onos
Наконец это появляется, указывая на то, что он был успешно построен.
В-четвертых, беги
Выполнение заказа
bazel run onos-local
Чтобы подключиться к консоли ONOS CLI, вы можете запустить
./tools/test/bin/onos localhost
После подключения вы можете запускать различные команды ONOS CLI и Apache Karaf. Например, чтобы запустить приложения OpenFlow и ReactiveForwarding, вы можете сделать следующее:
app activate org.onosproject.openflow
app activate org.onosproject.fwd
Посетите http: // localhost: 8181 / onos / ui через браузер,
учетная запись - onos, пароль - rock.
Чтобы запустить сеть Mininet, управляемую экземпляром ONOS, уже запущенным на компьютере разработчика, вы можете использовать следующую команду:
sudo mn --switch ovs,protocols=OpenFlow13 --controller remote
В ситуации отображения onos gui:
Во время теста было обнаружено, что версии openflow11 и openflow12 не могут быть разрешены с помощью onos, и я не понимаю, почему