We describe how to configure, run, and test the OpenstackSwitching application. If you did not set up your environment including openstack and onos, we strongly recommend to you must set up your environment following the page: How to set up environment from scratch. 1. Also, if you are familiar with how to execute ONOS, we strongly recommend to go though ONOS Tutorial page: Tutorials and Walkthroughs
Configure OpenstackSwitching application: network-cfg.json
Code Block language text title network-cfg.json collapse true { "apps" : { "org.onosproject.openstackswitching" : { "openstackswitching" : { "do_not_push_flows" : "false", "neutron_server" : "http://OPENSTACK_CONROL_NODE_IP:9696/v2.0/", "keystone_server" : "http://OPENSTACK_CONROL_NODE_IP:5000/v2.0/", "user_name" : "admin", "password" : "nova" } }, "org.onosproject.dhcp" : { "dhcp" : { "ip": "10.0.0.1", "mac": "1a:2b:3c:4e:5e:6f", "subnet": "255.0.0.0", "broadcast": "10.255.255.255", "router": "10.0.0.1", "domain": "10.0.0.1", "ttl": "63", "lease": "300", "renew": "150", "rebind": "200", "delay": "3", "timeout": "150", "startip": "10.0.0.110", "endip": "10.0.0.130" } }, "org.onosproject.cordvtn" : { "cordvtn" : { "nodes" : [ { "hostname" : "compute-01", "ovsdbIp" : "COMPUTE_NODE_IP", "ovsdbPort" : "6640", "bridgeId" : "of:0000000000000001" }, { "hostname" : "compute-02", "ovsdbIp" : "COMPUTE_NODE_IP", "ovsdbPort" : "6640", "bridgeId" : "of:0000000000000002" }, { "hostname" : "network", "ovsdbIp" : "OPENSTACK_CONTROL_NODE_IP", "ovsdbPort" : "6640", "bridgeId" : "of:0000000000000003" } ] } } } }
We need to configure the OpenstackSwitching application using the standard ONOS Network Configuration framework, network-cfg.json file.
App field Field name Description org.onosproject.openstackswitchingdo_not_push_flows"true":
...
it does not push any
...
flow rules to OVS and works as just the Openstack interface.
"false": it pushes all flow rules to OVS
neutron_serverURL to the neutron server
keystone_serverURL to the keystone server for authentication org.onosproject.dhcp<all> Sample DHCP domain information. You do not touch it. They are just samples and not really used,
...
but we need at least one. org.onosproject.cordvtn:cordvtn:nodescordvtn:nodesDescriptions of hosts. We need to setup information of all hosts we have setup, which are control node and two compute nodes. hostnamedescription of the host ovsdbIp IP address of the host ovsdbPortOVSDB Port: 6640, which is set via "ovs-vsctl set-manager" command bridgeIdDatapath ID of the OVS switch in the host Copy the network-cfg.json file to ~/onos/tools/package/config. If you updated or just copied the file, then you need to compile the onos again to distribute the network-json file.
Compile and install ONOS
Code Block language bash ~/onos$ mcis ~/onos$ onos-package ~/onos$ onos-install -f $OC1You need to set up you own cell information before you install the ONOS.
Login to the ONOS CLI and activate OpenstackSwitching application
Code Block language text onos> app activate org.onosproject.openstackswitching
...