...
2. Set OVSDB listening mode in your compute nodes. There are two ways. "compute_node_ip" below should be accessible address from the ONOS instance.
| Code Block | ||
|---|---|---|
| ||
$ ovs-appctl -t ovsdb-server ovsdb-server/add-remote ptcp:6640:compute_node_ip |
...
| Code Block |
|---|
set "$@" --remote=ptcp:6640 |
Either way, you should be able to see port "6640" is in listening state.
...
3. Check your OVSDB. It is okay If there's a bridge with name br-int, but note that SONA will add or update its controller, DPID, and fail mode.
| Code Block | ||
|---|---|---|
| ||
$ sudo ovs-vsctl show
cedbbc0a-f9a4-4d30-a3ff-ef9afa813efb
ovs_version: "2.5.0" |
...
1. Refer to the guide(SONA Network Configuration Guide) to and write a network configuration for SONA, and prepare one for your environment. Place . Place the network-cfg.json under tools/package/config/, build package, and then install ONOS. Here's an example cell configuration and commands.
| Code Block | ||
|---|---|---|
| ||
onos$ cell ONOS_CELL=sona OCI=10.203.255.221 OC1=10.203.255.221 ONOS_APPS=drivers,openflow-base,openstackswitching,openstackrouting ONOS_GROUP=sdn ONOS_SCENARIOS=/Users/hyunsun/onos/tools/test/scenarios ONOS_TOPO=default ONOS_USER=sdn ONOS_WEB_PASS=rocks ONOS_WEB_USER=onos onos$ buck build onos onos$ cp ~/network-cfg.json ~/onos/tools/package/config/ onos$ buck build package onos$ stc setup |
...
No OpenStack service needs to be running on gateway nodes.
Additional Node
...
Setup
1. Push network-cfg.json after ONOS and OpenStack are ready, and check all COMPUTE type nodestate is COMPLETE with openstack-nodes command. Use openstack-node-check command for more detailed states of the node if it's INCOMPLETE. For GATEWAY type node, youleave it in DEVICE_CREATED state. You'll need additional configuration configurations explained later.
| Code Block | ||
|---|---|---|
| ||
$ curl --user onos:rocks -X POST -H "Content-Type: application/json" http://$onos-ip:8181/onos/v1/network/configuration/ -d @network-cfg.json |
For your information, pushing network config file triggers reinitialization of all nodes at once. It's no harm to reinitialize COMPLETE state node. If you want to reinitialize only a particular compute node, use openstack-node-init command with hostname.
2. For In GATEWAY type nodes, Quagga and additional ONOS instance for vRouter is required. Download and install Docker first.
| Code Block | ||
|---|---|---|
| ||
$ curl -s https://get.docker.io/ubuntu/ | sudo sh |
3. Download script to help setup gateway node.
| Code Block | ||
|---|---|---|
| ||
$ git clone https://github.com/hyunsun/sona-setup.git
$ cd sona-setup |
4. Refer to the guide(SONA Network Configuration Guide) and write a network configuration for vRouter. Name it to vrouter.json, place under sona-setup and run vrouter.sh, which brings up ONOS container with vRouter application activated.
| Code Block | ||
|---|---|---|
| ||
# modify vrouter.json
sona-setup$ vrouter.sh
sona-setup$ sudo docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
e5ac67e62bbb onosproject/onos:1.6 "./bin/onos-service" 8 days ago Up 8 days 6653/tcp, 8101/tcp, 8181/tcp, 9876/tcp onos-vrouter |
5. Modify volumes
| Code Block |
|---|
onos> openstack-nodes hostname=compute-01, type=COMPUTE, managementIp=10.203.25.244, dataIp=10.134.34.222, intBridge=of:00000000000000a1, routerBridge=Optional.empty init=COMPLETE hostname=compute-02, type=COMPUTE, managementIp=10.203.25.245, dataIp=10.134.34.223, intBridge=of:00000000000000a2, routerBridge=Optional.empty init=COMPLETE hostname=gateway-01, type=GATEWAY, managementIp=10.203.198.125, dataIp=10.134.33.208, intBridge=of:00000000000000a3, routerBridge=Optional[of:00000000000000b1] init=COMPLETE hostname=gateway-02, type=GATEWAY, managementIp=10.203.198.131, dataIp=10.134.33.209, intBridge=of:00000000000000a4, routerBridge=Optional[of:00000000000000b2] init=COMPLETE Total 4 nodes |
...