Versions Compared

Key

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

...

TODO: Add additional gateway node setups if requiredsetups 


ONOS Setup

How to deploy ONOS is out of scope of this documentation.

1. If your ONOS is ready, create network-cfg.json file to configure SONA apps.

Code Block
titleCURRENT VERSION
{
  "userDefined" : {
      "openstacknetworking" : {
          "config" : {
              "physicalRouterMac" : "00:00:00:00:00:01",
              "gatewayBridgeId" : "of:00000000000000a3",
              "gatewayExternalInterfaceName" : "veth1",
              "gatewayExternalInterfaceMac" : "00:00:00:00:00:01",
              "nodes" : [
                    {
                        "dataPlaneIp" : "10.134.34.222",
                        "bridgeId" : "of:00000000000000a1"
                    },
                    {
                        "dataPlaneIp" : "10.134.34.223",
                        "bridgeId" : "of:00000000000000a2"
                    },
                    {
                        "dataPlaneIp" : "10.134.33.208",
                        "bridgeId" : "of:00000000000000a3"
                    }
                ]
            }
        }
    },
    "apps" : {
        "org.onosproject.openstackinterface" : {
            "openstackinterface" : {
                 "neutronServer" : "http://10.243.139.46:9696/v2.0/",
                 "keystoneServer" : "http://10.243.139.46:5000/v2.0/",
                 "userName" : "admin",
                 "password" : "nova"
             }
        },
        "org.onosproject.openstacknode" : {
            "openstacknode" : {
                 "nodes" : [
                            {
                                    "hostname" : "compute-01",
                                    "ovsdbIp" : "192.168.56.112",
                                    "ovsdbPort" : "6640",
                                    "bridgeId" : "of:00000000000000a1",
                                    "openstackNodeType" : "COMPUTENODE"
                            },
                            {
                                    "hostname" : "compute-02",
                                    "ovsdbIp" : "192.168.56.106",
                                    "ovsdbPort" : "6640",
                                    "bridgeId" : "of:00000000000000a2",
                                    "openstackNodeType" : "COMPUTENODE"
                            },
                            {
                                    "hostname" : "network",
                                    "ovsdbIp" : "192.168.56.108",
                                    "ovsdbPort" : "6640",
                                    "bridgeId" : "of:00000000000000a3",
                                    "openstackNodeType" : "GATEWAYNODE",
                                    "gatewayExternalInterfaceName" : "eth1",
                                    "gatewayExternalInterfaceMac" : "00:00:00:00:00:10"
                            }
                  ]
             }
        }
    },
    "devices" : {
        "of:00000000000000a1" : {
            "basic" : {
                "driver" : "sona"
            }
        },
        "of:00000000000000a2" : {
            "basic" : {
                "driver" : "sona"
            }
        }
    }
}

 

NOT MERGED YET: will be updated to below

json file to configure SONA apps. GATEWAY type node is optional.

WILL BE
Code Block
Code Block
title
{
    "apps" : {
        "org.onosproject.openstackinterface" : {
            "openstackinterface" : {
                 "neutronServer" : "http://10.243.139.46:9696/v2.0/",
                 "keystoneServer" : "http://10.243.139.46:5000/v2.0/",
                 "userName" : "admin",
                 "password" : "nova"
             }
        },
        "org.onosproject.openstacknode" : {
            "openstacknode" : {
                 "nodes" : [
                        {
                                "hostname" : "compute-01",
                                "type" : "COMPUTE",
                                "managementIp" : "10.203.25.244",
                                "dataIp" : "10.134.34.222",
                                "integrationBridge" : "of:00000000000000a1"
                        },
                        {
                                "hostname" : "compute-02",
                                "type" : "COMPUTE",
                                "managementIp" : "10.203.229.42",
                                "dataIp" : "10.134.34.223",
                                "integrationBridge" : "of:00000000000000a2"
                        },
                        {
                                "hostname" : "gateway-01",
                                "type" : "GATEWAY",
                                "managementIp" : "10.203.198.125",
                                "dataIp" : "10.134.33.208",
                                "integrationBridge" : "of:00000000000000a3",
                                "routerBridge" : "of:00000000000000b3"
                        },
                        {
                                "hostname" : "gateway-02",
                                "type" : "GATEWAY",
                                "managementIp" : "10.203.198.131",
                                "dataIp" : "10.134.33.209",
                                "integrationBridge" : "of:00000000000000a4",
                                "routerBridge" : "of:00000000000000b4"
                        }
                  ]
             }
        }
    },
    "devices" : {
        "of:00000000000000a1" : {
            "basic" : {
                "driver" : "sona"
            }
        },
        "of:00000000000000a2" : {
            "basic" : {
                "driver" : "sona"
            }
        },
        "of:00000000000000b3" : {
            "basic" : {
                "driver" : "softrouter"
            }
        },
        "of:00000000000000b4" : {
            "basic" : {
                "driver" : "softrouter"
            }
        }
    }
}

...

Code Block
ONOS_APPS=drivers,drivers.ovsdb,openflow-base,ovsdb-base,dhcp,openstacknode,openstackswitching,openstackrouting,openstackinterface,openstackswitching

If you want to test Neutron L3 service APIs, enable opesntackRouting also.

Code Block
ONOS_APPS=drivers,openflow-base,openstackswitching,openstackRouting

 

3. Push the network config file to ONOS.

Code Block
curl --user onos:rocks -X POST -H "Content-Type: application/json" http://onos-01:8181/onos/v1/network/configuration/ -d @network-cfg.json

 

.json

 

Check all node state is COMPLETE.  Use openstack-node-check command for more detailed states of the node. Pushing network configuration triggers reinitialization of the nodes. It's no harm to reinitialize COMPLETE state node. If you want to reinitialize a particular compute node, use openstack-node-init command with hostnameNOT MERGED YET: 4. Check all your compute and gateway nodes are in COMPLETE state in ONOS CLI.

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=INCOMPLETE
hostname=compute-02, type=COMPUTE, managementIp=10.203.229.42, 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:00000000000000b3] init=COMPLETE
hostname=gateway-02, type=GATEWAY, managementIp=10.203.198.131, dataIp=10.134.33.209, intBridge=of:00000000000000a4, routerBridge=Optional[of:00000000000000b4] init=COMPLETE
Total 4 nodes

 

It's done. Enjoy.

 

...

CLIs

CommandUsageDescription
openstack-nodesopenstack-nodesShows the list of compute and gateway nodes that registered to openstack node service
openstack-node-checkopenstack-node-check [hosthame]Shows the state of each node bootstrap steps
openstack-node-initopenstack-node-init [hostname]

Try to re-initialize a given node. It's no harm to re-initialize already in COMPLETE state.

...