一、安装 Bazel
在 Ubuntu 上安装Bazel有一下几种方式:
- 通过 npm 安装
这种方式需要安装 nodejs ,命令为npm install -g @bazel/bazelisk
sudo apt install nodejs
- 使用 Bazel 的 apt 仓库
步骤1:将 Bazel 发行版 URI 添加为包源
步骤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
二、获取ONOS源码
确保已安装git,然后创建源存储库的本地克隆:
git clone https://gerrit.onosproject.org/onos
如果下载比较慢,可以通过gitee
git clone https://gitee.com/mirrors/onos.git
三、构建
进入onos文件夹
cd onos
通过git tag
可以查看版本列表,通过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
账号是onns,密码是rocks
要启动由已在开发计算机上运行的ONOS实例控制的Mininet网络,可以使用以下命令:
sudo mn --switch ovs,protocols=OpenFlow13 --controller remote
在onos gui显示情况:
测试的时候发现:openflow11和openflow12版本,onos解析不了,不懂什么原因