Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

We describe how to configure, run, and test the OpenstackNetworking application. If you did not set up your environment including openstack and onos, you must set up your environment following the page: How to set up environment from scratch. Also, if you are NOT This walkthrough demonstrates most SONA features, as well as its typical usage in concert with OpenStack. The walkthrough assumes that you are familiar with how to execute ONOSuse ONOS and OpenStack. If you're not, we strongly recommend you to go though ONOS Tutorial page: Tutorials and Walkthroughs

How to run OpenstackNetworking application

Configure OpenstackNetworking application: network-cfg.json

Code Block
languagetext
titlenetwork-cfg.json
collapsetrue
{
  "userDefined" : {
    "openstacknetworking" : {
      "config" : {
        "physicalRouterMac" : "00:00:00:00:01:01",
        "gatewayBridgeId" : "of:0000000000000003",
        "routerPortInfo" : "of:00000000000000b1/2",
        "gatewayExternalInterfaceName" : "veth2",
        "gatewayExternalInterfaceMac" : "56:e6:30:a6:8c:e5",
        "nodes" : [
          {
            "dataPlaneIp" : "192.168.56.113",
            "bridgeId" : "of:0000000000000001"
          },
          {
            "dataPlaneIp" : "192.168.56.106",
            "bridgeId" : "of:0000000000000003"
          }
        ]
      }
    }
  },
    "apps" : {
        "org.onosproject.openstackinterface" : {
            "openstackinterface" : {
                 "neutronServer" : "http://192.168.56.105:9696/v2.0/",
                 "keystoneServer" : "http://192.168.56.105:5000/v2.0/",
                 "userName" : "admin",
                 "password" : "nova"
             }
        },
        "org.onosproject.openstacknode" : {
            "openstacknode" : {
                "physicalRouterMac" : "86:1e:e1:b1:85:bd",
                 "nodes" : [
                        {
                                "hostname" : "compute-01",
                                "ovsdbIp" : "192.168.56.113",
                                "ovsdbPort" : "6640",
                                "bridgeId" : "of:0000000000000001",
                                "openstackNodeType" : "COMPUTENODE"
                        },
                        {
                                "hostname" : "compute-01",
                                "ovsdbIp" : "192.168.56.106",
                                "ovsdbPort" : "6640",
                                "bridgeId" : "of:0000000000000003",
                                "openstackNodeType" : "COMPUTENODE"
                        }
                  ]
             }
        }
    },
    "devices" : {
        "of:0000000000000001" : {
            "basic" : {
                "driver" : "sona"
            }
        },
        "of:0000000000000002" : {
            "basic" : {
                "driver" : "sona"
            }
        }
   }
}

We need to configure the OpenstackSwitching application using the standard ONOS Network Configuration framework, network-cfg.json file.

...

openstacknetworking

...

physicalRouterMac

...

gatewayBridgeId

...

gatewayExternalInterfaceName

...

gatewayExternalInterfaceMac

...

org.onosproject.openstacknode

...

openstacknode

...

org.onosproject.openstackinterface

...

neutroServer

...

URL to the neutron server

...

keystoneServer

...

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
languagebash
~/onos$ mcis
~/onos$ onos-package
~/onos$ onos-install -f $OC1

You need to set up you own cell information before you install the ONOS.

...

Login to the ONOS CLI and activate OpenstackSwitching application

Code Block
languagetext
onos> app activate org.onosproject.dhcp
onos> app activate org.onosproject.openstackinterface
onos> app activate org.onosproject.openstacknetworking
Note

If this is the first time to install OpenstackNetworking application and vxlan bridge is not created yet, please follow the How to set up environment before activating OpenstackNetworking application.

...

You can see the three devices (control node and two compute nodes) from ONOS CLI, if everything has been configured successfully.

Code Block
languagetext
app activate org.onosproject.onos> devices
id=of:0000000000000001, available=true, role=MASTER, type=SWITCH, mfr=Nicira, Inc., hw=Open vSwitch, sw=2.3.2, serial=None, managementAddress=10.40.101.208, protocol=OF_13, driver=sona, name=of:0000000000000001, channelId=10.40.101.208:51477
id=of:0000000000000002, available=true, role=MASTER, type=SWITCH, mfr=Nicira, Inc., hw=Open vSwitch, sw=2.3.2, serial=None, managementAddress=10.40.101.227, protocol=OF_13, driver=sona, name=of:0000000000000002, channelId=10.40.101.227:36684
id=of:0000000000000003, available=true, role=MASTER, type=SWITCH, mfr=Nicira, Inc., hw=Open vSwitch, sw=2.3.2, serial=None, managementAddress=10.40.101.240, protocol=OF_13, channelId=10.40.101.240:40002

Also, you should be able to see that br-int bridge and vxlan port have been created in all three nodes as below.

Code Block
languagebash
$ sudo ovs-vsctl show
1265d109-8a0a-40d5-bfee-f8ee9c7438c1
    Manager "ptcp:6640"
        is_connected: true
    Bridge br-int
        Controller "tcp:10.40.101.153:6653"
            is_connected: true
        fail_mode: secure
        Port br-int
            Interface br-int
        Port vxlan
            Interface vxlan
                type: vxlan
                options: {key=flow, remote_ip=flow}

...

Tutorials

  1. Walkthrough 1: L2 Switching

  2. Walkthrough 2: L3 Routing 1

  3. Walthrought 3: L3 Routing 2

  4. Walkthrough 4: L3 Routing 3

  5. HA Test
  6. Security Group

 through Tutorials and Walkthroughs and http://docs.openstack.org.