...
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 | ||
---|---|---|
| ||
{
"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.
Code Block |
---|
Code Block | title | WILL BE
{ "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
Command | Usage | Description |
---|---|---|
openstack-nodes | openstack-nodes | Shows the list of compute and gateway nodes that registered to openstack node service |
openstack-node-check | openstack-node-check [hosthame] | Shows the state of each node bootstrap steps |
openstack-node-init | openstack-node-init [hostname] | Try to re-initialize a given node. It's no harm to re-initialize already in COMPLETE state. |
...